作者  fcamel (飛啊!乘月的小駱駝)  看板   P_fcamel
 標題  [perl]   if相關語法問題
 時間  Fri May 27 13:03:29 2005


拜compiler作業所賜,
我終於明白為什麼perl有些語法真是他OO地不直覺

在perl裡, 一個很大的困擾是, 沒有"else if",
它叫做"elsif"

還有selection statements一定要加 { },
即使裡面的statements只有一行也是
ex:
    if (true) {
        print "of course\n";
    }

可以寫成
    # 據Larry Wall所言, 這樣唸起來很順, 果然是語言學家
    print "of course\n" if true;

但不能寫成
    if (true)
        print "of course\n";

就是因為if的grammer太彈性,
所以要多一些限制,
不然它不能區分
    print "of course\n" if true;

和  # missing ';' at 1st statement
    print "of course\n"
    if true
        ;

compiler真是困難的東西啊,
雖然1962年Knuth指出有一堆人不約而同地發現這個領域的相同技巧,
許多人各自看出這些技巧的不同面,
但這些技巧真是太難學啦,
暑假有時間的話再來衝一衝吧


還有多行註解 /* */在 perl 裡不算有 (它有類似的替代品, 忘了是啥), 大概是 /* */ 的RE太難表示了吧, C/C++偷吃步, 由preprocessor去掉了 其實不考慮code的漂亮, 不用RE硬幹處理 /* */ 應該沒問題才對, 而且以 perl RE來說, 應該有能耐處理它, 所以應該不是實作麻煩, 而是作者認為不需要吧 在沒有IDE的情況下, 沒有多行註解是很困擾的啊