>>557
あーなんとなく判ってきた。
空表示の際のHTMLを眺めると判ると思うけれども、
<dl>
</tr>
となっているのでこの間が出力されていない。のが原因。
その要因は・・・
sub past_one の中にある、
while (<IN>)
ブロックが実行されていないから。
その要因は。
$file = sprintf("%s%04d\.cgi", $pastdir,$in{'pastlog'});
で、ファイル名を定義しているけれども、
open(IN,"$file") || &error("Open Error: $file");
で、エラーに飛んで逝ってないので、ファイルは存在するけれどもファイルの中身が空、もしくは、空行や0のみの行が含まれているのがそもそもの根元かと。
1779行目の
while (<IN>) {
を、
while (defined(my $line = <IN>)) {
$_ = $line;
の2行に差替えてみて、それでも何も表示されないのであるならば 「ファイルの中身が空」ということが確定するでしょう。

それはさておき、こんなグダグダのスクリプトと付き合っていると人間を辞める羽目になると思うので早急にほかのスクリプトに移行しましょう。改造してても疲れるだけでしょ?
ついでに吐き出される HTML も無茶苦茶だし。