上の続き

あー、こうすれば!

@a = (1,2,3,4,5,2);
@b = (3,4,5,4);

# 各要素の出現回数を数えておいて、
grep($count{$_}++, @a);

# @bのなかから出現回数が0じゃないものを取得する
@c = grep($count{$_}, @b);

あれ……でも、よく見ると上のと同じことか……。


(追記) ベンチマークをとったら全然同じことじゃありませんでした。下のほうがだいぶ効率がいいようです。以下参照。