Perlを使用して、各リストの繰り返し(重複)値のみを出力したいと思います。値は少なくとも2回(2回以上)表示される必要があります。各リスト(行)は個別に検討する必要があります。
たとえば、次の入力があります。
abc 51082 6457 31072 5575 5488 4842 16567 151
cde 5575 3674 8150 5575 3674 8150
fgh 5737 6887 48278 3674 34399 3674 8150
次の出力が必要です。
abc
cde 5575 3674 8150
fgh 3674
次のソースコードを書きましたが、正しい出力が得られません。
#!/usr/bin/perl -w
open FH, "input.txt";
@a=<FH>;
my %count_of;
foreach $tmp (@a)
{
foreach $word (split /\s/, $tmp)
{
$count_of{$word}++;
if ($count_of{$word} >=2)
{
print "$word\n";
}
}
}
exit;
誰かがコードにどのような変更を加える必要があるかについて教えてもらえますか?ありがとうございました!