my @aminos= qw(A R N D C Q E G H I L K M F P S T W Y V B Z X); sub multiplyRates { my $M1= @_ ; foreach my $key1 (@aminos) { foreach my $key2 (@aminos) { my $prod; foreach my $key (@aminos) { $prod += $M1->{$key1}->{$key} * $M1->{$key}->{$key2}; } $multiplyrate->{$key1}->{$key2} = $prod; } $multiplyrate1->{$key1} = $newMutationmatrix1->{$key1}; } return \%$multiplyrate; }