> "@deff = grep { !{map{$_,1}@array2 }-> {$_}}@array1;"で比較ができると書かれていました。 もちろんこういうやり方もアリなのですが、初心者の場合後から見た場合に意味が分かる事が重要だと思うので(理解するまでに結構時間がかかった...)次のようなサブルーチンを書いてみました。 サブルーチンにするとどうしても渡された値が正しいかチェックしなければならないため冗長なコードになりますが... sub eq_array (&;$$) { my ($pred, $array1, $array2); if (ref $_[0] eq 'CODE') { # もしも最初が{ ... }だった場合 ($pred, $array1, $array2) = @_; } else { # 普通に配列のリファレンス二つが渡された場合 ($array1, $arr