%alphabet = (%alphabet, map { $_ => 1 } @chars); #### @alphabet{@chars} = (); # No need to set values to 1 as you only ever use keys #### if(defined $sorted{$characters}) { push @{$sorted{$characters}}, $line; } else { $sorted{$characters} = [$line]; } #### push @{$sorted{$characters}}, $line; #### foreach (my $pos2 = 0; $pos2 < $count; $pos2++) { next if $pos2 < $pos1; #### for (my $pos2 = $pos1; $pos2 < $count; $pos2++) {