2013年3月7日木曜日

複数配列から重複行を抽出する


複数配列から重複行を取り出すには、grepを使うと便利です。


#!/opt/local/bin/perl
use utf8;

my @foo = qw(ari hituji inko cat dog);
my @baa = qw(cat ebi kuma hituji tora);

my %seen;
my $i = 0;
my @hoge = grep { ++$seen{$_} == 2 } (@foo, @baa);
foreach my $item(@hoge) {
    print "[$i]:$item\n";
    $i++;
}


結果は以下のようになります。




[0]:cat
[1]:hituji




0 件のコメント:

コメントを投稿