PerlでCGIを組んで勉強中の者ですが、
ソートが上手く動かせず?に苦労しています。
ttp://www.din.or.jp/~ohzaki/perl.htm
を参考にしてるんですが、

@data = map {$_->[0]}
sort {$a->[2] <=> $b->[2]}
map {[$_, split /,/]} @data;

これは予定通りの動作を確認できるのですが、
アチラのページでお勧めされている高速版の、

@tmp = map {(split /,/)[2]} @data;
@data = @data[sort {$tmp[$a] <=> $tmp[$b]} 0 .. $#tmp];

上記のスクリプトはどうも上手くいきません。
なにぶん、最近始めたばかりなので、
僕の手落ちなのかも知れませんが、何卒ご教授下さい。
お願いします。