txtファイルを読み込んで、改行コードを外してから連結していく処理を作ろうとして、

#$lineに一行読み込み後の処理
$line =~ s/\n//;
$line =~ s/\r//;
$all_line .= $line;

とすると、たまに先頭に付加されてしまう事があるんだけど、何故?

先頭に付加というのは、
$all_lineが abcdef の状態に、XYZの行を足したら、
XYZdef になってしまうという事です。