Perlで二つの配列の積集合を取得
use strict; use Data::Dumper; my @array1 = (1,2,3,4,5); my @array2 = (2,4,5,6,7); my %in_array1 = (); @in_array1{@array1} = map {1;} @array1; print Dumper grep { $in_array1{$_}} @array2; #$VAR1 = 2; #$VAR2 = 4; #$VAR3 = 5;
こんなんでよい?
これでちゃんと動くのはわかってるんだけどもっと気持ちのいい書き方とかない?