なんか、 ある配列にある値から 別の配列にある値だけをある配列から抜き出して 新しい配列をつくりてーってことがままあるわけですが、 List::MoreUtilsとかになかったのですなぁ。 package List::Grep; use strict; use warnings; use base 'Exporter'; use vars qw(@EXPORT_OK %EXPORT_TAGS); @EXPORT_OK = qw/list_grep/; sub list_grep { my $args = shift; my %tmp; @tmp{@{$args->{base}}} = @{$args->{base}}; return wantarray ? @tmp{@{$args->{grep_key}}} : [@tmp{@{$args->{grep_key}}}]; } 1; __E