ファイルを配列に読み込む perl スクリプトを作成しています。Perl 5.16 を使用して Windows でプログラムを作成しました (5.14 でも動作します)。Mac で Perl 5.12 を使用すると、スクリプトが失敗しました。
失敗した部分は次のとおりmy @array = <$file>
です。Mac では、配列は正しいサイズ (ファイルの行数と同じ) に戻りましたが、最後の要素を除くすべての要素が空でした。代わりにこれに切り替えると、コードは正しく機能しました。
my @array;
while(<$file>){
push @array, $_;
}
行末を(Windowsスタイル)LF
の代わりに切り替えた場合に違いがあったかどうかはわかりません。CRLF
問題は解決しましたが、私は戸惑いました。リストした 2 つのコード スニペットはまったく同じものだと思いました。ここで異なる結果を生み出すそれらの違いは何ですか?