@a=(2,3,5);
@b=(1,2,3,4);
map {$tmp{$_}++} (@a,@b);
@intersect = grep {$h{$_}>1} keys %tmp;

積を求める部分、一行にしたくて悶々としてるんだけど、なんかない?