標準入出力のオープン |
また、出力には標準エラー出力(STDERR)もあります。サーバにもよりますが、STDERR
に出力したものは、サーバのログファイルに書き込まれることが多いようです。
#!/usr/bin/perl # # use_cgi_lite_pm.cgi # # (C)1999 Kaoru Fujita # # サーバのエラーログファイルに出力 print STDERR "This may be put into the error log.\n"; # STDERR を保存 open(SVSTDERR, ">&STDERR"); # STDERR を STDOUT に複製 open(STDERR, ">&STDOUT"); select(STDERR); $| = 1; print "Content-Type: text/plain\n\n"; # サーバのエラーログファイルに書きつつ標準出力にも出力 print STDERR "Error !!"; # STDOUT に複製した STDERR をクローズ close(STDERR); # STDERR を元に戻す open(STDERR, ">&SVSTDERR"); # サーバのエラーログファイルに出力。元に戻った? print STDERR "This may be put into the error log. (2nd)\n"; exit(0); #--End of stdio.cgi |
<注> STDIN、STDOUT、STDERR は大文字です。