perl的5個常見錯誤

字號:


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