use Data::Dumper; my @array = qw(foo bar baz); my %hash; for (1..5) { my @array = qw(foo bar baz); $hash{$_} = \@array; undef @array; } print Dumper \%hash; for (1..5) { my @array = qw(foo bar baz); $hash{$_} = [@array]; undef @array; } print Dumper \%hash;