非常に多くの冗長レコードが存在する入力ファイルがあり、冗長性の一部を削除するプログラムを作成しようとしていますが、それでもある程度の冗長性が残っているようですが、何が問題なのかわかりません
ARGV[0]は冗長性のある入力ファイルです
ARGV [1]は、入力ファイルの冗長性のない出力ファイルです。
open(Input,"<./$ARGV[0]");
open(Output,">./$ARGV[1]");
while( eof(Input) !=1)
{
push(@Records,readline(*Input));
}
close Input;
# Solution 2
for($i=0;$i<$#Records;$i++)
{
for($j=$i+1;$j<$#Records;$j++)
{
if($Records[$i] eq $Records[$j])
{
$Records[$j] = undef;
}
}
}
@Records = grep defined,@Records;
=begin
# Solution 1 have some problems
for($i=0;$i<$#Records;$i++)
{
for($j=$i+1;$j<$#Records;$j++)
{
if($Records[$i] eq $Records[$j])
{
splice @Records,$j,1;
$j = $j-1;
}
}
}
=end
=cut
foreach $Each(@Records)
{
print Output $Each;
}
close Output;
ありがとう