>>267
chomp, push @data, [ split /,/ ] while <DATA>;

はいくらなんでも詰めすぎじゃないかと。

普通に書くなら

while (<DATA>) {
chomp;

push @data, [ split /,/ ];
}

ぐらいじゃないかなー。