my %keymap = %{$_[0]};
####
my $file_name = shift;
my $hr = shift;
####
...
$hr->{$2} = $1;
####
#!/usr/local/bin/perl
use strict;
my $ALWAYS_USE_REF = 1;
main( @ARGV );
exit 0;
sub main {
my %hash;
recursively_foo_my_hash( \%hash, 5 );
print_hash_ref_contents( \%hash );
return 1;
}
sub recursively_foo_my_hash {
my $hr = shift;
print "RFMH called with hash ref: $hr\n";
my %new_hash = %{ $hr };
my $depth = shift;
$hr = \%new_hash unless $ALWAYS_USE_REF;
return 1 unless $depth > 0;
$hr->{"foo_$depth"} = rand(); # Add some data
recursively_foo_my_hash( $hr, $depth - 1 );
return 1;
}
sub print_hash_ref_contents {
my $hr = shift;
print "Hash ref [$hr] contains:\n";
foreach my $k ( sort keys %$hr ) {
print "$k -> $hr->{$k}\n";
}
return 1;
}