构造

October 28, 2013 @ 11:07 AM

C 风格的循环通常不必要

你可以写 C 风格的循环,但常常不需要它们。

不要在 foreach 的位置使用它们:

for (my $i = 0; $i <= $#foo; $i++) { # BAD

foreach (@foo) { # BETTER

不要在 while 的位置使用它们:

for (my $i = <STDIN>; $i; $i = <STDIN>) { # BAD

while (my $i = <STDIN>) { # BETTER

想想你编写的代码,并找找感觉。

匿名哈希和数组

创建一个匿名数组引用,并给它赋值:

my $array = [ 'one', 'two', 'three' ];

匿名是因为我们不必创建数组。

哈希有相似的构造器:

my $hash = { one => 1, two => 2, three => 3 };

看作你应认为的而非引用。

q[qrwx]?//m//s///y///

Perl 让你自行指定定界符:

你可以使用除空白之外的任意字符。但要注意平衡括号或花括号:

qq//
qq#A decent <html> delimiter </html> #
qq( man perl(1) for details ) # valid!

globallocalmyour