中田さんありがとうございました。
言われた通り、binmode(STDOUT); を付けたしたら表示出来ました。
本当にありがとうございました。
よしおさん、
出力をファイルにリダイレクトして、もとのファイルとバイナリ比較をしてみるとよくわかるはずです。
つまり、print は print STDOUT ということなので、
binmode(IMG);
binmode(STDOUT);
print $_ while (<IMG>);
と、binmode(STDOUT)を入れればいいのだと思います。
binmode(STDOUT)がなくても、バイナリファイルによってはテキスト変換される文字(バイト)を含んでいないので、そのようなバイナリファイルは正常に表示されます。
こんにちは、初めて投稿します。
早速質問なのですが、CGIでpng形式の画像を表示させる事が出来ません。
オプション/一般でファイルタイプも指定してあるのですが、上手く行きません。
同じやり方でGIF形式の画像を表示させる事は出来るのですが、なぜでしょう。
作成したCGIスクリプトが悪いのでしょうか
どなたか、不出来な私に伝授して頂けないでしょうか。お願いします。
環境は WinNT4.0 IE5.5 で AN HTTP 1.32f を使用です。
【CGIスクリプトの記述部分】
-------------------------------------------------
print "Content-type: image/png\n\n";
open(IMG, "$dir/$img") || die "Can't open: $dir/$img";
binmode(IMG);
print $_ while (<IMG>);
close(IMG);
--------------------------------------------------