@populations = (4); &gener(); sub gener { foreach ($populations) { @chroma = (0...10); @chromb = (0...10); @ind = (0...10); %HoH = ( @populations => { individual => "@ind", chromasome1 => "@chroma", chromosome2 => "@chromb", }, ); } for $population ( sort keys %HoH ) { for $info ( sort keys %{ $HoH{$population} } ) { print "$population: $info=$HoH{$population}{$info} "; } print "\n"; } use Data::Dumper; print Dumper(%HoH); }