perl -MData::Dumper my @test = ({1 => 2}); my @var = grep{ $_->{123} and $_->{123} == 2 }@test; print join( "::", @var),"\n", Dumper \@test;' $VAR1 = [ { '1' => 2 } ];