http://qs321.pair.com?node_id=257897

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I have a hash structure that I'd like to keep intact after a subroutine call. I've tried several things, but nothing works. There's got to be something simple I've overlooked:
my %myhash; build_hash(\%myhash); print Dumper(\%myhash); ## shows %myhash to be empty sub build_hash { my $href = shift; my %results; my $sth = $dbh->prepare( $query ); $sth->execute(); my $ct = 0; while (my $tmp_href = $sth->fetchrow_hashref) { $ct++; $results{$ct} = $tmp_href; } %{ $href } = %results; ## also tried Storable's dclone(), but same results ## $href = dclone(\%results); print Dumper($href); ## prints desired results }
The resulting structure looks like this (it's exactly the way I want it): <code> $VAR1 = { '1' => { 'f1' => undef, 'f2' => 'bleep@hotmail.com', 'f3' => 'OTH', 'f4' => 'N',