#! /usr/bin/perl -wl my @array = (); add_to_array(\@array, 'foo', 'dong', 'bar'); add_to_array(\@array, 'blarg', 'weeble', 'm00'); sub add_to_array { my ($arrayref, $var1, $var2, $var3) = @_; push(@$arrayref, { 'var1' => $var1, 'var2' => $var2, 'var3' => $var3 }); } for my $hashref (@array) { print $hashref; print "$_: $hashref->{$_}" for keys %$hashref; } # prints: HASH(0x804d28c) var3: bar var1: foo var2: dong HASH(0x804dcf4) var3: m00 var1: blarg var2: weeble