最近在用perl+mdbm+spread做东西。
php是用了很久了,python和ruby与用过,经典脚本语言就perl没摸过,现在在像小学生一样抱着教科书啃。
发现perl果然有难度多了。别的东西没让我这么频繁地犯错误。
1.第一个常见的错误是:向文件输出内容。标准语法是:
print STDERR "this is an apple.";
我一般都会写成
print STDERR,"this is an apple.";
总是多打一个逗号。老实说,一般我很少重复地犯错误,但是这个地方我就是记不住。
2.第二个常见错误是:经常漏写Hash引用的箭头。
本来应该写成
print $hash->{$key};
我常常写成
print $hash{$key};
3.第三个常见错误是:字符串比较:
用php时间长了,老是用两个等号来比较字符串。这是错的。正确写法是
if($var eq "hello") {
print "world";
}
我经常写成:
if($var=="hello") {
print "world";
}
这会导致逻辑错误,很难觉查。
4.第四个常见错误:
if语句不带括号(都是php带坏的)
正确的写法是:
if($var)
{
print "yes";
}
我经常写成
if($var)
print "yes";
5.还有一个错误,不是从php中带过来的,一般人估计不会犯:漏写分号。
php是用了很久了,python和ruby与用过,经典脚本语言就perl没摸过,现在在像小学生一样抱着教科书啃。
发现perl果然有难度多了。别的东西没让我这么频繁地犯错误。
1.第一个常见的错误是:向文件输出内容。标准语法是:
print STDERR "this is an apple.";
我一般都会写成
print STDERR,"this is an apple.";
总是多打一个逗号。老实说,一般我很少重复地犯错误,但是这个地方我就是记不住。
2.第二个常见错误是:经常漏写Hash引用的箭头。
本来应该写成
print $hash->{$key};
我常常写成
print $hash{$key};
3.第三个常见错误是:字符串比较:
用php时间长了,老是用两个等号来比较字符串。这是错的。正确写法是
if($var eq "hello") {
print "world";
}
我经常写成:
if($var=="hello") {
print "world";
}
这会导致逻辑错误,很难觉查。
4.第四个常见错误:
if语句不带括号(都是php带坏的)
正确的写法是:
if($var)
{
print "yes";
}
我经常写成
if($var)
print "yes";
5.还有一个错误,不是从php中带过来的,一般人估计不会犯:漏写分号。