| | ● パールチェック [ 013 ] 自作にしろフリーにしろcgiをFTPし、ブラウザーでアクセスしてみればエラー表示、それも英語だから意味不明。 訳しても「要するにエラーなのね」と言ったところ。注意深く訳せば、プログラム自体なのかパーミッションの問題なのかといろいろ原因を絞り込める(らしい)。
普通の人が足がかりにcgi等を始める時って、普通のプロバイダーからが多く、下手をすれば、ssiやsendmailが駄目だったりして、telnet(UNIX)なんて、何それ?って感じの夢の夢の高嶺の花状態・・私のことだ。
運良く、telnetがOKのプロバイダー(linkclub)に入っていたので、慣れないunixコマンドを打ち込んで、パールチェックしていた。 unixコマンドとか言っても、そのcgiの場所まで行くまでの「cd」「ls -l」とか、パールチェックの「perl -wc ***.cgi」ぐらいしか使っていなかった、いや、それしか知らなかった。
ところが、このlinkclubのパールバージョンが4なので、フリーcgiの中に「my」とか「and」「or」があると、待っていましたとばかりに「エラーなんだよ!」と慇懃無礼に教えてくれる・・・と、いうのが分かるまでかなりの時間を要した。 始めたばかり、またはいつまで経っても良く理解していない私には、パールにバージョンがあるなんて全く知る余地もないんだな。 それでも、それが分かり、myの変数名を変えたり、一つ一つ「&&」「||」に変更して作動させた時には嬉しかった。実際には、「&&」と「and」など多少意味合いが違うけど。
それなら、そんなパールチェックcgiを自分で作れば楽ではないか、と思った。それもformを使い常設していれば、いつでもどれでもチェックできるぞ、というヤツだ。
参考書を見たら、パールスクリプトからUNIXコマンドを実行できるのが、「open」「system」「``(バッククォート)」の3つあるみたいだ。 おお、なんで今までこんな簡単なことに気付かなかったのだろうと、 ===================================== $what = './***.cgi'; open CHECK, "perl -wc $what |" || &error; while( defined( $line = )){ ・・・・・・・・・・ ===================================== としたけど、全然表示されず、$lineは常に空欄模様。
ここまで来て(何処までじゃ)諦めるのもくやしいので、例の「らくだ本」をペラペラと眠くなるのを我慢して見ていたら、「16.3 パイプ」に作例が載っている夢を見たのでアレンジして、
open CHECK, "perl -wc $what 2>&1 |" || &error;
おお、ちゃんと動いて表示したぞ! でも、いきなりこのページに来たので、「2>&1」の意味が全く分からない。 ま、パール4でもちゃんと動作&表示したので、今後の最重要研究課題とし、使うことにした(安易〜)。 「Acci_PerlC.cgi」登録。
ところで、例のラクダ本、現在、1/4から1/3の間を読んでいる。 |
|