my %names = map { $_ => '' } qw(foo bar baz); print "$names{$_}\n" for keys %names; # access individually print "$names{foo}\n"; #### my @names = ('') x 6; # the following is wrong, pointed out in the reply by mr_ron # my @names = '' x 6; print "$_\n" for @names; # access individually print "$names[2]\n"; # prints 3rd element