sub pushhash (\%@) { my $hash = shift; my $key; $$hash{$key} = shift while defined($key = shift); } my %a; $a{cow} = "COW1"; $a{dog} = "DOG1"; pushhash %a, cow => "COW2", bull => "Terrier"; for (sort keys %a) { print "$_ => $a{$_}\n"; }