解決にはならないが、気になる点。
>return[0];
return(0);
[]じゃなくて()だよ。(このままだと、0という要素を持った配列へのリファレンスを
返すことになってしまうよ)
>$hit_sw eq "0"
数値を""でくくるのは、なんか変。
$hit_sw = 1; $hit_sw == 0;
>$new_rec2
こういった変数の付け方は、後から見ると(or 他の人が見ると)何を指しているのか
分かりづらいのでやめよう。(しかもグローバル変数で突然現れるし......)
>$old_data[0] eq $new_data[0] とか
どんなフィールドを比較しているのか.....わからん。
>@old = <OLD>;
毎回読むの?最初の一回でファイルの終端まで全部読んでしまうから
二回以降@oldは空じゃない?
#どういったことをやりたいのかを(114より詳しく)正確に書いて欲しい。