in reply to [Answered!] Taking a subset of a hash

Narveson:

If I understand you correctly:

use strict; use warnings; use Data::Dumper; my %config = (a=>undef, b=>0, c=>'foo'); my @wanted = qw(a b c d); my %result = get_small_hash(\%config); sub get_small_hash { my $hr = shift; return map { $_ => $$hr{$_} } grep { exists($$hr{$_}) and defined($$hr{$_}) and $$hr{$_} +} @wanted; }

This gives me:

roboticus@Boink:~ $ perl return_grep_slice.pl $VAR1 = { 'c' => 'foo' };

Oh, well, I notice that in the time it took me to write & test this, you've already gotten some responses. But I've already gone this far...

...roboticus