宣言と同時に

    # これ!。フィールドの配列のデータをハッシュにまとめて入れれる!
    my %row;
    @row{ @fields } = split("\t" , $line );
    push @nice_format_data , \%row ;
CSVとかTAB区切りファイルとかから、アレイハッシュを作るチップ - Lazy Programmer :-p

ハッシュスライス使うとmy宣言と同時に突っ込めないんで上記のように3行になってしまう。

だがしかし、先にpushしてしまえば2行になるのだ!

    push @nice_format_data , \my %row ;
    @row{ @fields } = split("\t" , $line );

いや、まあ、だから何?って話。



コメントうけて追記

@{$nice_format_data[@nice_format_data]}{@fields} = split("\t" , $line );
で一行^^;

しまった!その手があったか!

ただし、要素を加工したい場合とかには不向きなので使い分けが必要かな。