最近在用perl+mdbm+spread做東西。
php是用了很久了,python和ruby與用過,經(jīng)典腳本語言就perl沒摸過,現(xiàn)在在像小學(xué)生一樣抱著教科書啃。
發(fā)現(xiàn)perl果然有難度多了。別的東西沒讓我這么頻繁地犯錯(cuò)誤。
1.第一個(gè)常見的錯(cuò)誤是:向文件輸出內(nèi)容。標(biāo)準(zhǔn)語法是:
print STDERR "this is an apple.";
我一般都會(huì)寫成
print STDERR,"this is an apple.";
總是多打一個(gè)逗號(hào)。老實(shí)說,一般我很少重復(fù)地犯錯(cuò)誤,但是這個(gè)地方我就是記不住。
2.第二個(gè)常見錯(cuò)誤是:經(jīng)常漏寫Hash引用的箭頭。
本來應(yīng)該寫成
print $hash->{$key};
我常常寫成
print $hash{$key};
3.第三個(gè)常見錯(cuò)誤是:字符串比較:
用php時(shí)間長(zhǎng)了,老是用兩個(gè)等號(hào)來比較字符串。這是錯(cuò)的。正確寫法是
if($var eq "hello") {
print "world";
}
我經(jīng)常寫成:
if($var=="hello") {
print "world";
}
這會(huì)導(dǎo)致邏輯錯(cuò)誤,很難覺查。
4.第四個(gè)常見錯(cuò)誤:
if語句不帶括號(hào)(都是php帶壞的)
正確的寫法是:
if($var)
{
print "yes";
}
我經(jīng)常寫成
if($var)
print "yes";
5.還有一個(gè)錯(cuò)誤,不是從php中帶過來的,一般人估計(jì)不會(huì)犯:漏寫分號(hào)。
更多信息請(qǐng)查看IT技術(shù)專欄