[問題]help~苦惱中! try不出來啊

看板Perl作者 (這城市 為所欲為)時間16年前 (2008/08/01 22:20), 編輯推噓0(008)
留言8則, 4人參與, 最新討論串1/1
各位前輩好 小弟初學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

08/01 22:46, , 1F
因為你最後一行的1,在split之後$e[1]是最有東西的
08/01 22:46, 1F

08/01 22:46, , 2F
所以perl提醒你,裡面是空的...
08/01 22:46, 2F

08/01 23:07, , 3F
D大 不是很了解你的意思 1之後我並沒有留空格或者換
08/01 23:07, 3F

08/01 23:08, , 4F
行符號啊 為什麼PERL還會判斷有東西呢?
08/01 23:08, 4F

08/01 23:08, , 5F
另外想問訊息的意思只是提醒而非錯誤囉? 謝謝~^^
08/01 23:08, 5F

08/02 00:03, , 6F
把標頭的-w拿掉就不會出現這警告訊息啦!
08/02 00:03, 6F

08/02 13:16, , 7F
最後一行的 1 經過split後 應該不會有$e[1]吧?
08/02 13:16, 7F

08/03 01:07, , 8F
打錯字^^" 最後一行$e[1]是"沒"有東西的,所以有警告
08/03 01:07, 8F
文章代碼(AID): #18anknfR (Perl)