#!/usr/bin/perl use Data::Dumper; use strict; my %HoA1; my %HoA2; push(@{$HoA1{"HOA-1"}}, "Entry One"); push(@{$HoA2{"HOA-2"}}, "Entry One"); my @a = qw(entry1 entry2 entry3); 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"; return ($HoA1,$HoA2); } ($HoA1,$HoA2) = test($HoA1,$HoA2,@a, "test"); print Dumper(%HoA1); print "\n\n"; print Dumper(%HoA2);