私は、ファイルを並べ替えることになっているこの小さなperlスクリプトがあります。この入力(fileToBeSorted.txt
)ファイルがソートされている場合、なぜTie :: Fileが行を追加しますか?
one;4;1
two;3;2
three;2;3
four;1;4
スクリプト出力
line count before: 4
line count after: 5
そして実際に実行すると
#!/usr/bin/perl
use strict;
use warnings;
use Tie::File;
tie my @lines, 'Tie::File', 'fileToBeSorted.txt' or die $!;
printf "line count before: %d\n", scalar @lines;
@lines= sort @lines;
printf "line count after: %d\n", scalar @lines;
untie @lines;
をソートされたファイルには空の5行目が含まれています。それはなぜですか、どうすればそれを防ぐことができますか?
わかりませんが、回避策は 'grep {$ _} @ lines'をソートすることです。 – kjprice