my @NameArray; my $endvalue = 5; for (my $i = 0; $i < $endvalue; $i++) { $NameArray[$i] = addnew($i); } for my $hash_ref (@NameArray) { print "$hash_ref->{firstname} $hash_ref->{famname}\n"; } sub addnew { my $index = shift; my %value; $value{firstname} = "John $index"; $value{famname} = "Johnson $index"; $value{street} = "Bellpark $index"; return \%value; # return a reference to the hash }