my @b=map { my $mapkey=$_; map { ($d[$mapkey]->[1] =~ /$a[$_]/) ? [@{$d[$mapkey]}] : () } 0..$#a } 0..$#d; #### my @b = map { my $d = $_; map { ($d->[1] =~ $$_) ? $d : () } @a } @d #### my %a = map { $_ => 1 } @a; my @b = map { ($a{$_->[1]}) ? $_ : () } @d
## my @b = map { my $d = $_; map { ($d->[1] =~ $$_) ? $d : () } @a } @d ##
## my %a = map { $_ => 1 } @a; my @b = map { ($a{$_->[1]}) ? $_ : () } @d