sub sub_c
{
my %hash1c = @_;
print "sub_c arguments: " . Dumper \%hash1c;
}
####
[05:25][nick:~/monks]$ cat 1134864.pl
#! perl
use strict;
use warnings;
use feature qw/ say /;
use Data::Dumper;
sub sub_b {
my %hash1b;
$hash1b{'key1'} = 1;
say 'calling sub_c from sub_b';
sub_c( %hash1b );
}
sub sub_c {
my %hash1c = @_;
say 'sub_c arguments: ' . Dumper \%hash1c;
}
say 'calling sub_b';
sub_b();
my %hash1a;
$hash1a{'key1'} = 1;
say 'calling sub_c directly';
sub_c( %hash1a );
__END__
####
[05:25][nick:~/monks]$ perl 1134864.pl
calling sub_b
calling sub_c from sub_b
sub_c arguments: $VAR1 = {
'key1' => 1
};
calling sub_c directly
sub_c arguments: $VAR1 = {
'key1' => 1
};