>>375
ありがとうございます
そのとおりやってみたら、見事に$erase以外がログに書き込まれていました。
おっしゃる通り、改行が含まれていたせいみたいです。

しかし、修正されたログにも同じように数字ごとに改行を含んでおきたいのですが、
この処理だと

119049025

のように改行なしで一気に書かれてしまいました。

そこで、元の自分の書いたものに>>376さんのアドバイスで修正を加え

chomp @datalist;
for ( my $k = 0 ; $k < @datalist ; $k++ ) {
if ( $datalist[$k] ne $erase ) {
push(@newlist, "$datalist[$k]\n");
}
}

としてみると、一応、望み通りの結果を出すことができました。
二晩くらい悩みまくったので、とても助かりました。
ほんとうにありがとうございました。

grepを使った方法は今まで使ったことが無くて、一行で処理できる
美しいコードに感激したので、もしよろしければ自分の書いた方法以外で
同じ結果の出せる(改行含む)書き方があれば教えてやってください。