komamix回答ポイント 100ptウォッチ 4

Perlの質問です。CGIで呼ばれるプログラムでファイルの読み込みが失敗し困っています。

具体的には読み込み自体は成功するのですが、以下のような一般的(と思うんですが)複数行あるはずのデータが一行になってforeach が一回しか回らないという現象です。

if ( !open( FH, $filename ) ) {エラー処理}
my @array = <FH>;close(FH);
foreach my $line(@array){
ほにゃらら。
}

厄介なのは起きるときと起きない時があるところです。
成功するときは問題なく取れるが失敗すると数百行あっても一行として読み込まれてしまいます。
現象が出始めるとApacheのリスタートで直ります。
違うサーバで試しに移動してみると再現しません。

環境
Red Hat Enterprise Linux ES release 4
Apache2.0.52
Perl v5.8.5
mod_perl 1.99

use strict、warningsは問題があるプログラムではつけいるしエラー、警告は出ていません。
ただしつけてないプログラムが同じサーバに同居しています。
たぶんメモリ関係だと思うのですが。

なにか関連するモジュールでの不具合情報などありませんか?
情報がないとバージョンアップもできないので。

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

ベストアンサー

その他の回答

この質問へのコメント

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2009-07-10 14:06:54
終了日時
2009-07-15 10:15:03
回答条件
1人2回まで

この質問のカテゴリ

この質問に含まれるキーワード

mod_perl33Apache1359Perl1679Red Hat Enterprise Linux26CGI2023モジュール927サーバ4580バージョンアップ367プログラム5048

人気の質問

メニュー

PC版