system関数で呼びだした、cshファイル周辺でのエラー
2~3日前にも質問させていただいた、Perl初心者leeeeeeeeです。先日に引き続き、前の業者が作ったPerlプログラムを、新しいサーバ上で動くようにする作業を行っているのですが、まだエラーが出ており困っています。以下が問題の部分です。
○○.cgi
# 削除シェルの実行
$rtn = system"$rm_csh $tmp_file $limit_date $touch_file";
if($rtn != 0)
{
# エラーログ出力
cm_errlog(__FILE__, "LOG013", ($rm_csh." ".$limit_date));
# エラーHTML出力
省略
# 異常終了
exit 1;
}
ここの、$rtnが、0になっていないようで、エラーページが表示されてしまいます。
ちなみに、$rm_csh は、tmpdel.cshというファイルで、以下が中身です。
■
tmpdel.csh
#!/usr/bin/csh
set touch_fname = $3
set tmp_file = $1
touch -t $2 $touch_fname >& /dev/null
set STS = $status
if( $STS != 0) then
exit 1
endif
foreach file_name (`ls $tmp_file*`)
test $file_name -ot $touch_fname && rm $file_name >& /dev/null
end
exit 0
■
tmpdel.csh の #!/usr/bin/csh という部分が気になって、#!/usr/bin/perlとか、
#!/bin/cshにもしてみましたが動きませんでした。
何が原因でエラーが出ているのかが分かりません。
宜しくお願いします。
お礼
いつの間にか正常動作するようになっていました。 どうやら、プリントサーバーのエラーだったようです。 色々とどうもありがとうございました。