電子書籍の厳選無料作品が豊富!

下記プログラムでperl_read_writes.txtを出力すると、中身が表示されるのですが、a_perl_read_writes.txt等に名前を変更すると、当然エラーが起きます。
が、die "$filenameを開けません。";の部分の
$filenameを開けません。という文章が出力されないのですが、どなたか原因分かりませんか?

==================================================
#!/usr/bin/perl
print "Content-type: text/html;charset=Shift-JIS", "\n\n";

# HTMLの出力
print "<html>\n";
print "<body>\n";
print "ファイルの読み書き<br>\n";

$filename='/usr/local/apache/htdocs/aaa/bbb/perl_read_writes.txt';
# ファイルオープン
open (FILEHANDLE,"< $filename") or die "$filenameを開けません。";
...以下省略
==================================================

よろしくお願いします。

A 回答 (1件)

# > ・・という文章が出力されないのですが、



# ↑どこに出力されないのか? というか、
# エラーメッセージを通常どこで確認しているかが不明ですが、


# エラーメッセージを標準エラーメッセージファイル"STDERR"以外に、
# 画面にも出力するように指定する。
use CGI::Carp qw(fatalsToBrowser);

my $filename = '/usr/local/apache/htdocs/aaa/bbb/a_perl_read_writes.txt';
open (FILEHANDLE,"< $filename") or die "$filenameを開けません。";

# 上記を、手元の
#  WinXP Pro.SP2 + Apache 1.3 + ActivePerl 5.8.4(810) + shift-jis
# で試すと画面(ブラウザ)に以下が出ます。

# (結果)
# /usr/local/apache/htdocs/aaa/bbb/a_perl_read_writes.txtを開けません。at c:\apache\cgi-bin\nu\hoge.pl line nn.

# key word : Perl STDERR, use CGI::Carp

この回答への補足

or die(~)で指定している文章が、dieの時に表示されないのです。
dieでストップしてしまいます。
エラーメッセージを画面上に表示させたい訳ではありません。それはアパッチのlogで普通に確認出来ます。
何故、or die(~)で指定している文章が、dieの時に表示されないのかが疑問なのです。
okiyoshiさんの環境ではdieに指定した文章が、die時に表示されているので、環境の問題なのですかね?
もう少し待ってみます。

補足日時:2005/11/11 09:30
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報