2017-10-13 60 views
2

縱觀近期的一些問題,我看到下面的尷尬建設:(我所熟悉的是while (my $line = <$IN>) {...}成語)

open my $IN, "<", 'file' or die "can't read from 'file'. $!"; 
foreach my $line (<$IN>) { 
    ... 
} 

我的問題是,它的foreach成語迫使<>成列表上下文,並因此要求解釋器啜泣整個文件?

+1

是的,它確實...我不確定如何詳細說明! – Borodin

+0

它被稱爲列表上下文,與數組無關,但是。 – ikegami

+0

感謝您的「答案」。 (編輯過的「數組上下文」 - >「列表上下文」) – flies

回答

3

是的。

在列表上下文中評估foreach循環的列表表達式。有幾次優化(例如for ($x..$y)for (@a)使用「no」內存),但for (readline($FH))未優化。

相關問題