1 open IN, "in.txt"; open OUT, ">out.txt"; print OUT unless m[^foo] while <IN>; 爲什麼上面的代碼不能編譯?如何正確使用正則表達式 來源 2016-09-15 CJ7 +0 只是一些術語,可以幫助你在未來的搜索:你'重新調用反轉while語句是語句修飾符。 – ThisSuitIsBlackNot
6 問題是,允許您將if/unless/while作爲後綴寫入一行代碼的表示法只能在該行中使用一次。所以,你必須與替換最後一行在你的代碼: while (<IN>) { print OUT unless m[^foo]; } 這種情況下,另一種是使用一個or: m[^foo] or print OUT while <IN>; 來源 2016-09-15 00:59:18 redneb +0 可以使用括號來在一行中允許多個反向語句嗎? – CJ7 +0 @ CJ7不幸的是,不幸的是,沒有辦法用大括號或括號來代替上面給出的第一個片段。 – redneb
只是一些術語,可以幫助你在未來的搜索:你'重新調用反轉while語句是語句修飾符。 – ThisSuitIsBlackNot