ソースお手本表を見ながら質問タイトルのようなことをやりたいと思いました。
結果はHTMLを実行すると通信が1分から3分ぐらい通信を行い、最後には画像を表示しないようなります。
どこがおかしいのかおしえていただけないでしょうか?
どうかお願いします。

------------------------------------------------
#!/usr/local/bin/perl

#use DBI;
print "Content-type: image/jpeg\n\n";
open FH,"<image.jpg";
binmode FH;
binmode STDOUT;
print while(FH);
close FH;
------------------------------------------------

このQ&Aに関連する最新のQ&A

A 回答 (1件)

while(FH)





while(<FH>)

とすれば、動きますですよん♪
    • good
    • 0
この回答へのお礼

こんな簡単なこととはしりませんでした。
本当にありがとうございました。
ところで何か<>をつける理由があるから動作しなかったのだと思うのですが、どのようなことなのか意味はあるのでしょうか?
単純なミスだけに忘れがちですね(感謝です)

お礼日時:2001/10/29 03:12

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

このQ&Aと関連する良く見られている質問

Q#!/usr/local/bin/perlとしたい

WindowsXP上でCGIを動作させる環境を構築しています。
しかし、サーバにアップロードする際にいちいちPerlパスを変更するのが
面倒なので、「#!/usr/local/bin/perl」と、基本的なディレクトリ指定にしたいです。
(サーバそうでなければ結局指定し直しですが)
現在、「#!c:/perl/bin/Perl」で動かしています。

どうすれば出来るでしょうか?ご教示願います。
ちなみにApacheは2.0.55です。

Aベストアンサー

c:/usr/local/bin/perl.exe
となるようにしてください。

Q/usr/local/bin/perl の発音

あまりにも初歩の質問かもしれませんが、
/usr/local/bin/perl
・・・を、声に出すとすると、
/ユーザー/ローカル/ビン/パール
・・・で、良いのでしょうか?

Aベストアンサー

新版 UNIX 由来/読み方辞書
http://x68000.q-e-d.net/~68user/unix/unix-term-dic.html

Q#!/usr/local/bin/perlの変更。

┬ cgi_script
│   └***.cgi

└ access_g
    └11111
      └22222
        └***.cgi

今まで、cgi_scriptフォルダの直下にあるcgiファイルの一番上の行は
#!/usr/local/bin/perl
できちんと動作していました。

今は、そのcgi_scriptフォルダと同じところにあるaccess_gフォルダの中にある、
11111フォルダの下の2222フォルダの下にあるcgiファイルを実行させたいのですが、
#!/usr/local/bin/perl
をどのように変更していいかわからなくなってしまいました。

動作させたいcgiファイルはcgi_scriptフォルダの中に入れたところきちんと動作したので、
動作上の問題はないと思われます。

どうぞよろしくお願いいたします。

Aベストアンサー

それは変更する必要ないですよ。
また、動かない理由としてパーミッション設定をフォルダにもきちんと設定しているでしょうか?
CGIによってはフォルダのパーミッションをすべて「777」にしないと動かない物もあります。

QPerlの初歩の初歩の初歩(#!/usr/local/bin/perlについて)

いつもお世話になっています。
Perlを勉強し始めて1か月たっていない人間です。
調べてもよく分からず、気持ち悪いので
どうか教えてください。

Perlで記述するとき1行目にperlへのパスを書きますが
プロバイダでのパスは「#!/usr/local/bin/perl」です。
私のPC環境では「#!d:/perl/bin/perl」になります。

ある日、PC環境で動作検証するとき
間違ってプロバイダのパスのほうを記述してしまいました。
しかし、それでもPC上で動作しました。

なぜパスが違うのに動作するのでしょうか?

なお、わけの分からないまま
「Perlへのパスを通す」というのを昔
やったことがあります。関係がありますか?

ある場合、それをすると
「#!d:/perl/bin/perl」の「d:/perl/」の部分が
「/usr/local/」と同になるということなのでしょうか?

Aベストアンサー

httpdの種類や設定によっては1行目のパスを無視して動作させることが出来ます。
例えばAnHTTPDは最初からcgiの拡張子とperlを関連付けて使う仕様だった気がします。
Apache1.3(Win)もWindowsのOSでcgi拡張子とPerl.exeの関連付けがしてあれば動作させることが出来ます。

Qhtml文を書く時の print の中の\"について。

print "<input type=\"text\" name=\"name\" size=\"30\" value=\"$c_name\">";

よくとか書くやン?
\"これって書くべき?
それとも、書かずにtype=text としてるン?

確かhtml的には、どっちでもいいって書いてあったような気もするけど、みんなはどうしてるン?

書く派?書かない派?
echo <<< html_doc

html_doc;
って、しちゃーんよーん、ってのは例外ね。

Aベストアンサー

ダブルクオテーションは必ず書きます。

\ をいちいち打つのが面倒なので、
こういうときは、qq||を使います。

print qq|<input type="text" name="name" size="30" value="$c_name">|;


このカテゴリの人気Q&Aランキング

おすすめ情報