my @difference; for my $i ( 0 .. $#AoH_all) { for my $key (keys(%keep_ids)) { if ($AoH_all[$i]{'id'} == $key ) { $difference[$i] = $AoH_all[$i]; } } } #### my %difference = grep { exists $keep_ids{ $_->{id} } } @AoH_all; print Dumper (%difference); #### $VAR1 = 'HASH(0x808bd2c)'; $VAR2 = undef;
## my %difference = grep { exists $keep_ids{ $_->{id} } } @AoH_all; print Dumper (%difference); ##
## $VAR1 = 'HASH(0x808bd2c)'; $VAR2 = undef;