原问题
http://bbs.bathome.net/thread-43203-1-1.html
use Encode;
use IO::Handle;
STDOUT->autoflush(1);
open READ, "<:encoding(gbk)", "src.txt";
my %hash;
for my $e ( <READ> )
{
$e=~s/\r?\n$//;
if ($e=~/(\d+)\p{han}(\d+)\p{han}(\d+)\p{han}(\d+)\p{han}(\d+)\p{han}(\d+)\p{han}/)
{
$t = sprintf("%d%02d%02d%02d%02d%02d", $1, $2, $3, $4, $5, $6 );
$hash{ $t } = $e;
}
}
close READ;
grep { print encode('gbk', $hash{$_}),"\n" } ( sort keys %hash );