我基于以下模板/骨架上的Perl脚本占主导地位:
#!/usr/bin/perl -w
use strict;
use utf8;
$| = 1;
binmode(STDOUT, ":utf8");
# my code goes here.
Run Code Online (Sandbox Code Playgroud)
这个模板实现的目标:
-w
)use strict
)use utf8
+ binmode(STDOUT, ":utf8")
)$| = 1
)我的问题是:
如何改进我的模板以更好地反映Perl最佳实践?
Mic*_*man 18
更换-w
用use warnings
.它允许您在需要时以词汇方式禁用警告.见perllexwarn.
该use utf8
编译指示适用于源代码为UTF-8的情况.如果是的话,很棒.如果不是......我不建议添加您实际不使用的东西.同样,除非您实际生成STDOUT,否则不要将STDOUT设置为UTF-8.
禁用缓冲会降低性能.除非您需要,否则不要这样做,然后将范围限制在必要的范围内.
我想包含一个语句来明确说明运行脚本所需的最低Perl版本.如果由于某人使用旧版本的Perl而无法编译错误消息,则会使错误消息更有意义.例如
BEGIN { require 5.00801 }
Run Code Online (Sandbox Code Playgroud)
我使用那个特定的咒语而不是use v5.8.1
因为它与Perl的版本向后兼容我试图用一个有意义的错误消息"支持".
bri*_*foy 11
这是我的,虽然我必须承认有时我只是在不使用模板的情况下开始打字.我将其设置为modulino,以便以后添加测试很容易:
#!perl
package App::XXX;
use utf8;
use 5.010;
use strict;
use warnings;
use vars qw($VERSION);
$VERSION = '0.01_01';
__PACKAGE__->run( @ARGV ) unless caller;
sub run
{
my( $class, @args ) = @_;
}
1;
Run Code Online (Sandbox Code Playgroud)
如果要将所有文件句柄自动设置为某些编码,可以添加open
编译指示:
use open IO => ':utf8';
Run Code Online (Sandbox Code Playgroud)
我有另一个文档模板,我稍后添加.
此外,有些人有编辑序列,他们在脚本的顶部或底部添加注释.也许:
# -*- Mode: cperl; coding: utf-8; cperl-indent-level: 4 -*-
# vim: ts=4 sts=4 sw=4:
Run Code Online (Sandbox Code Playgroud)
由于我将脚本放入发行版中,因此安装过程会自动修复shebang行,因此无论我放在哪里都没关系.
扔一些文件怎么样?
=head1 NAME
name here
=head2 SYNOPSIS
short synopsis here
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
934 次 |
最近记录: |