test(\%HoA1, \%HoA2, ...); #### test(\%HoA1, \%HoA2, @a, "test"); #### test(\%HoA1, \%HoA2, "entry1", "entry2", "entry3", "test"); #### my ($HoA1,$HoA2,@a,$test) = @_; #### #!/usr/bin/perl use strict; use warnings; use Data::Dumper; sub test { my ($HoA1, $HoA2, $a, $test) = @_; push(@{$HoA1->{"HOA-1"}}, "Entry Two"); push(@{$HoA2->{"HOA-2"}}, "Entry Two"); print "Array: @$a\n"; print "Test: $test\n"; } my %HoA1; my %HoA2; push(@{$HoA1{"HOA-1"}}, "Entry One"); push(@{$HoA2{"HOA-2"}}, "Entry One"); my @a = qw(entry1 entry2 entry3); test(\%HoA1, \%HoA2, \@a, "test"); print Dumper(\%HoA1); print Dumper(\%HoA2);