#!/usr/bin/perl -wl use strict; my @hashes = ( { a => 1}, { b => 2}, { c => 3}); my %hash = %{ ( grep { haass($_) } @hashes )[0] }; print for keys %hash; sub haass { my $r = shift; exists $r->{c} ? $r : (); } __END__