sortのことで質問させていただいたものです。

たしかに
%test = (
2 => '2です',
6 => '6です',
'Y' => '12です'
);
は
foreach my $key (sort {$a cmp $b} keys %test) {
print "$key\n";
}
で

2
6
Y

こうなりましたが、たとえばキーに10や100といった数字が入っていると、
一番上にきてしまいます。

数字順>英数字という優先順位で並び替えるにはどうしたらよいのでしょうか。