看板 Perl 關於我們 聯絡資訊
各位前輩好 小弟初學perl沒有多久 最近在try一個小程式 不知道是我的觀念有錯還是怎樣 怎麼寫都達不到我想要的結果 可以請各位前輩幫忙看問題出在哪嗎?謝謝~ 照我寫的程式 我希望是能秀出來 b h n t z 可是當程式實際執行時卻秀出 b h n t z Use of uninitialized value at test2.pl line 9. 為什麼會出現上面的錯誤訊息呢? 原始碼: #!/usr/bin/perl -w open(FILE,'v.txt') or die "$!"; @file=<FILE>; close(FILE); foreach $line (@file) { @e=split(' ',$line); print "$e[1]\n"; } v.txt: a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 1 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.231.10.106
DreamYEN:因為你最後一行的1,在split之後$e[1]是最有東西的 08/01 22:46
DreamYEN:所以perl提醒你,裡面是空的... 08/01 22:46
bluemarlboro:D大 不是很了解你的意思 1之後我並沒有留空格或者換 08/01 23:07
bluemarlboro:行符號啊 為什麼PERL還會判斷有東西呢? 08/01 23:08
bluemarlboro:另外想問訊息的意思只是提醒而非錯誤囉? 謝謝~^^ 08/01 23:08
auymle:把標頭的-w拿掉就不會出現這警告訊息啦! 08/02 00:03
weiyucsie:最後一行的 1 經過split後 應該不會有$e[1]吧? 08/02 13:16
DreamYEN:打錯字^^" 最後一行$e[1]是"沒"有東西的,所以有警告 08/03 01:07