テキストファイルから1行ずつ読み込んで、
末尾の改行を削除するために、以下のように
書いたのですが、えらく時間がかかります。

while ($line = <IN>) {
  $line =~ s/[\r\n]*$//;
}

もっと高速な書き方はあるでしょうか?