data.txtに入っているデータを バブルソートを使って
4,3,A,AAA
7.21,B,BBB
2,9,C,CCC
10,2,D,DDD
から
10,2,D,DDD
7.21,B,BBB
4,3,A,AAA
2,9,C,CCC
に書き換えたいです。

↓だとエラーが出ます>_<どうすればいいでしょうか
open(OPEN,"<data.txt");
read(OPEN,$data,-s OPEN);
close(OPEN);

my @line=split(/[\r\n]/,$data);


for ($count=0; $count<=$#line; $count++){
($number[$count],$number2[$count],$number3[$count],$number4[$count])=split( /,/,$line[$count]);
%incount = ( '$line[$count]' => "$number[$count]" );
}

sort { $incount{$b} <=> $incount{$a} } @line

open( FH, ">data.txt" );
flock( FH, LOCK_EX );
print FH @line;
close FH2;