[問題] 利用while迴圈跑陣列變無窮迴圈?

看板Perl作者 (廣告王道)時間15年前 (2010/03/03 21:33), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串1/2 (看更多)
各位大大好 小弟之前在實做一個刪除檔案的程式 我已經將要刪除的檔案名稱列表都存到陣列@files中, 但利用迴圈跑unlink時,卻變成無窮迴圈? 如下: while(@files){ unlink($_); } 但執行下去變成無窮迴圈檔案也未刪除? 用for卻可以正常執行! 百思不得其解 想請教板上的大大們,是否小弟做法有誤? while與for不是一樣功能? 用while無法執行嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.61.198

03/03 22:35, , 1F
在unlink前加個$_=pop(@files)或$_=shift(@files)吧
03/03 22:35, 1F

03/13 01:26, , 2F
while()裡放的是條件判斷,和for完全不一樣喔
03/13 01:26, 2F

03/14 02:59, , 3F
print出來看看
03/14 02:59, 3F
文章代碼(AID): #1BZcKJJ1 (Perl)
文章代碼(AID): #1BZcKJJ1 (Perl)