Perl 编程格式指南
时间:2007-05-25 02:28:26 来源:站长资讯收集整理 作者:佚名
空白
在结束句子的分号之前不要留空白。
foo(@bar) ; # 错
foo(@bar); # 对
垂直对齐。
my $foo = 1;
my $bar = 2;
my $xyzzy = 3;
open(FILE, $fh) or die $!;
open(FILE2, $fh2) or die $!;
$rot13 =~ tr[abcedfghijklmnopqrstuvwxyz]
[nopqrstuvwxyzabcdefghijklm];
# note we use a-mn-z instead of a-z,
# for readability
$rot13 =~ tr[a-mn-z]
[n-za-m];
为了增加可读性,下列操作时需要一些空白: * 在做不同工作的代码块间,添加空行。 * 在变量声明完成之后,添加空行。 * 在最终的return()代码之前,添加空行。 * 在块的前面和后面添加空行,如果前面是注释的话,则不用添加空行。 一个例子:
# this is my function! 这是我的函数
sub foo {
my (@data) = @_;
my $obj = new Constructor;
my ($var1, $var2);
$obj->setFoo($data[1]);
$var1 = $obj->getFoo(1);
$var2 = $obj->getFoo($var1);
display($var1, $var2);
return($data[0]);
}
print 1;
圆括号
在流程结构中,在关键词和圆括号对之间要有空格。但对于函数,则不必。
for(@list) # 错
for (@list) # 对
my ($ref) # 对
my($ref) # 首选
localtime ($time); # 错
localtime($time); # 对
对带圆括号的列表和标量上下文要仔细!
my @array = ('a', 'b', 'c');
my ($first_element) = @array; # a
my ($first_element) = ('a', 'b', 'c'); # a
my $element_count = @array; # 3
my $last_element = ('a', 'b', 'c'); # c
永远在函数后面加上圆括号,尽管没有参数也是如此。但有一些例外,比如列表操作符(比如print)和一元操作符(像undef,delete,uc等等)。 如果为了可读性,可以在圆括号中添加空格,否则不要添加。
for ( map { [ $_, 1 ] } @list ) # 可以
for ( @list ) # 也还可以。
在多行的表达式中,用开始的语句或前圆括号来对齐后圆括号都可以。
@list = qw(
bar
baz
); # 正确
if ($foo && $bar && $baz
&& $buz && $xyzzy
) {
print $foo;
}
在后圆括号之后是否添加空格取决于它后面要跟什么。
print foo(@bar), baz(@buz) if $xyzzy;
还要注意,在允许省略圆括号的情况下-单行控制流程表达式,比如if $xyzzy,对于程序员来说,如果你十分明确它的含义的话,你可以省略圆括号。其实在上面的这种情况在$xyzzy两边是完全可以省略掉圆括号的。所以就省略掉它们,以增加可读性。如果有问题的话,那最好就别省略圆括号了。 同样原则也适用于perl的内置函数,当你很确定的情况下(例如,在语句中只有一句调用函数的语句,或者函数调用被流控制操作符分割)。用户自定义函数必须加上圆括弧。
内容导航
- 第1页:Perl 编程格式指南
- 第2页:Perl 编程格式指南(2)
- 第3页:Perl 编程格式指南(3)
- 第4页:Perl 编程格式指南(4)
- 第5页:Perl 编程格式指南(5)
- 第6页:Perl 编程格式指南(6)
- 第7页:Perl 编程格式指南(7)
- 第8页:Perl 编程格式指南(8)
上一篇:Perl基础指南
下一篇:下面没有链接了


















文章评论
共有 位CH网友发表了评论 查看完整内容