Perlは問題点の多い言語と言われますが、やはり実用性は本当に高いな、と思う今日このごろ。大きなプログラムを書いても遅くならないし。 さて、2つの配列の積集合(共通する要素)、和集合(いずれか一方または両方に含まれる要素)、差集合(一方にのみ含まれる要素)を求めるには、List::Compare が便利みたいなので試してみた。 #!/usr/bin/perl use List::Compare; # 比較する二つの配列 my @list1 = ('a', 'b', 'c'); my @list2 = ('b', 'c', 'd'); my $lc = List::Compare->new(\@list1, \@list2); # 積集合 (@list1, @list2 両方の配列に含まれる要素) my @intersection = $lc->get_intersection; print