my @sorted; { local %_ = (); @sorted = sort { $_{ $a } ||= substr( $a, 3, 4 ) cmp $_{ $b } ||= substr( $b, 3, 4 ) } @array; } #### my %hash = map { substr( $_, 3, 4 ), $_ } @array;