Perl 中的陷阱

Perl 中的陷阱

大家都说说在使用 Perl 的过程中曾经由于对 Perl 了解不够深入、或者是不小心都掉进去过哪些陷阱,别不好意思。我先来

1. 用 while + each/keys/values 遍历 hash,导致 hash 被多次遍历或者部分遍历

2. my $x = val if ...;

3. 本来想给全局变量赋值,没想到却定义了个局部变量,如 my @ENV = ...

更详细的描述在 http://blog.chinaunix.net/u2/65629/showart_1756680.html

大家可以说说自己的经历,也好互相参考印证
以后要注意的地方
Larry的大駱駝書中有很多


QUOTE:
原帖由 lokchungk 于 2009-1-4 12:38 发表
Larry的大駱駝書中有很多

列一些呗
split 的陷阱就挺多,没几个人把 split 完全搞明白了。
print reverse $str 是新人常犯的错误。


QUOTE:
原帖由 flw 于 2009-1-4 14:05 发表
split 的陷阱就挺多,没几个人把 split 完全搞明白了。

嗯,split 的语意是挺复杂的。


QUOTE:
原帖由 flw 于 2009-1-4 14:06 发表
print reverse $str 是新人常犯的错误。

估计是对 Perl 的优先级不太熟悉,例如

[Copy to clipboard] [ - ]
CODE:
my $str = 'abc';
print reverse $str, "\n";

这个的结果估计许多人一开始都会奇怪。我就奇怪了