http://www.perlmonks.org?node_id=439605


in reply to help with hashes

A shorter way to create loops in Perl is
%aminoacids = ( 1 => 'Tyrosine', 2 => 'Glycine', 3 => 'Leucine', ); for $i (1..3) { for $j (1..3) { for $k (1..3) { # another test print command #print "$i $j $k\n"; # want to print out for example tyrosine tyrosine leucine if $ +i = 1, $j = 1 and $k = 3 local $"=' ' ; print "@aminoacids{$i,$j,$k}\n" ; } } }

The loops can also be created by using the keys function.
for $i (1..3) {
can and should be changed to
for $i (keys %aminoacids) {
and so on for other loops. This is the preferred way of looping through all keys in the hashes.
Your script can also be implemented through arrays, as you are doing numerical indexing which is faster than associative indexing.

Manav