[問題] 在do while中使用last跳出無作用

看板Perl作者 (當你孤單會想起誰)時間15年前 (2009/11/19 10:21), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/3 (看更多)
昨天測試各種無限迴圈中使用last跳出的情況 意外發現若在do while 中使用last跳出會出現錯誤訊息 有人知道是啥原因造成的嘛? 測資 --- #!/usr/bin/perl for(;;) { print "Hello\n"; last; } #成功跳出 --- #!/usr/bin/perl while(1) { print "Hello\n"; last; } #成功跳出 --- #!/usr/bin/perl do { print "Hello\n"; last; } while(1) #失敗 # error msg: Can't "last" outside a loop block --- #!/usr/bin/perl do { print "Hello\n"; last; } for(0..50) #成功但不是無窮迴圈 --- #!/usr/bin/perl do { print "Hello\n"; last; } for(;;) #沒這樣寫法 希望有人能解答一下這問題~ 或是提供一下官方手冊中是否有提到 last 在 do while迴圈內會失效~ 感謝囉~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.53.115

11/19 12:57, , 1F
想知道 +1
11/19 12:57, 1F
文章代碼(AID): #1B1AkNNY (Perl)
文章代碼(AID): #1B1AkNNY (Perl)