とあるエンジニアの闇歴史帳

コピペで使える便利Wiki ※現在構築中です。

ユーザ用ツール


webp:vol46

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

webp:vol46 [2020/06/23 14:10] (現在)
行 1: 行 1:
 +======  Code.001 CGI(Perl)基本動作 その1:「HelloWorld!」 ======
 +<html><pre style="font-family:monospace; font-size:10pt">
 +   Code.001                                                 2002年10月05日発行
 +■━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━■
 +                           【 Webプログラミング 】
  
 +                       〜 猫的プログラマーとその軌跡 〜
 +■━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━■
 +
 +              ▼毎週月曜日に配信しています。
 +              ▼等幅フォントでご覧いただくとキレイに見えます。
 +              ▼登録・解除はこちらから可能です。
 +                &lt; http://www.ichikoro.com/webp/ &gt;
 +                  ※ぜひお友達にもご紹介ください(^^)/
 +
 +  みなさん大変お待たせいたしました!
 +  編集兼ライターの勝部です。
 +
 +  今回から内容的にググッとシンプルになります。
 +  「ファイル処理」「メール」「DB」など一つテーマを決め数回に渡り取り上げ、
 +  その中ですぐに使えるサンプルプログラムを掲載・解説をするという流れです。
 +
 +  購読し続ければ、メールボックスの中にリファレンスが出来上がるという寸法。
 +  勉強している人にはうれしい構成なのです。
 +
 +  え?これまでの連載はって?
 +  ご安心ください。Webサイト上で引き続き行っていく予定です。ただ、更新日は
 +  不定期です(^^; 新しい原稿を上げたらこのメルマガでもお知らせいたします。
 +
 +  というわけで、今後もWebプログラミングをよろしくお願いいたします!
 +
 +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 + CGI(Perl)基本動作 その1:「HelloWorld!」
 +──────────────────────────────────────
 +しばらくの間はPerlを使用したCGIを取り上げます。
 +今回はその第一回。まずは実行する方法を覚えましょう。
 +
 +───────
 +    ソース
 +───────
 +#!/usr/bin/perl
 +
 +print "Content-type: text/plain\n";
 +print "\n";
 +print "Hello!World";
 +
 +exit(0);
 +
 +
 +───────
 +   実行方法
 +───────
 +テキストエディタ(メモ帳やSimpleText)などで上記のソース(プログラム)を
 +保存し、CGIとして実行してください。
 +
 +    ■大雑把な手順
 +        (1)テキストエディタに上記のソースをコピー&ペーストします。
 +            ※一行目はあなたの環境に合わせて変更してください。
 +             よく分からない場合は、あなたが契約しているISPのサポートか、
 +             システム管理者に「Perlのフルパスを教えてくれ」と聞いてく
 +             ださい。
 +
 +        (2)hello.cgiなど、適当な名前をつけて保存します。
 +            ※大抵の場合、拡張子は「.cgi」でなければなりません。
 +
 +        (3)FTPクライアント(FFFTP,Fetchなど)を使用し、Webサーバに
 +         アップロードします。必ずアスキーモードで上げましょう。
 +
 +        (4)先ほどアップロードしたファイルを、FTPクライアントやtel
 +         netなどで、パーミションを 755 に変更してください。
 +            ※実行権限を与えれば良いので、
 +             755でなくてもかまいません。
 +
 +        (5)上記のファイルをブラウザで訪れます。
 +
 +
 +InternalServerErrorなどが出る場合は以下を確認してください。
 +
 +    □CGIは何も設定などしなくても使えるか
 +        ※.htaccessなどの設定が必要な場合があります。
 +         またISPによってはCGIの使用が禁止されています。
 +
 +    □サーバにPerlはインストールされているか、また実行権限があるか。
 +
 +    □Perlのパス(一行目)は正確か
 +
 +    □ファイル名は「xxxx.cgi」か
 +
 +    □アスキーモードで上げているか
 +
 +    □パーミションの設定を正確にしているか
 +
 +    □訪れたURLは正確か
 +
 +もしどうしても分からない場合はサポートBBSでご質問ください。
 +http://www.ichikoro.com/webp/bbs/
 +
 +───────
 +    解 説
 +───────
 +ソースを追いながら、順番に解説していきましょう。
 +
 +&gt; #!/usr/bin/perl
 +1行目については、上にある「CGIを動かすには?」をご覧ください。
 +
 +
 +&gt; print "Content-type: text/plain\n";
 +printした物が、直接ブラウザにわたります。
 +(実際には、まずWebサーバが受け取った後にブラウザへ渡しています)
 +この行は、
 +
 +    「これから渡すデータが何か」
 +
 +を表しています。
 +CGIのルールとして、必ずこの行が必要になります。
 +これを記述しないとInternalServerErrorとなり、期待した動作をしてくれなくなり
 +ます。
 +
 +ここでは“text/plain”つまり「テキスト」を表します。\nは改行のことです。
 +この、“text/plain”の部分がHTMLの場合は“text/html”となり、GIFの場合は
 +“image/gif”などとなります。
 +
 +
 +&gt; print "\n";
 +データの種別が何かを渡したら、今度は改行だけの「空行」をブラウザに渡します。
 +これが区切りとなり、データの情報と実際のデータがどこで分かれているかを判別
 +するキッカケになるのです。
 +
 +
 +&gt; print "Hello!World";
 +空行の後は、実際のデータを渡します。
 +この"Hello!World"の部分を色々と変えて実行しると楽しいですよ。
 +
 +
 +&gt; exit(0);
 +exitはプログラムを終了する命令(関数)です。
 +この場合は無くても問題ありません。
 +    ※プログラム終端まで実行すると自動的に終了します
 +
 +
 +───────
 +   次回予告
 +───────
 +次回はCGIにデータ(クエリ)を渡す方法を紹介します。
 +
 +───────
 +  分からない
 +───────
 +いまいちよく分からない場合は、以下へれっつらごー。
 +
 +    ・サポートBBS
 +      このメルマガ専用のサポート掲示板
 +          http://www.ichikoro.com/webp/bbs/
 +
 +    ・CGIプログラミングML
 +      CGIなどWebに関する話題を繰り広げるメーリングリスト
 +      このメルマガとは何の関係もありませんので発言時は注意を。
 +          http://www.ichikoro.com/cgi/ml/
 +
 +
 +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 +                           編    集    後    記
 +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 +
 +この原稿を仕上げている日の朝(金曜日)、高校時代の担任から電話がかかってき
 +ました。以前お話したとおり、大学入試を受けるために必要な書類を依頼してい
 +た件だったのです。何年ぶりでしょう?すごく懐かしかったです。
 +
 +  かつべ「あれ?先生って今もこの高校なんですか?」
 +  元担任「お前らが出た後異動になって、今年帰ってきたんだよ」
 +
 +最初電話した時は全く知らない先生だったので、どうなる事かと思ったのですが、
 +元担任に書類をまとめてもらえるなら、これ以上の安心はありません。何か運命を
 +感じた瞬間でした。
 +
 +そうそう、会社に相談したところ、快くお願いを聞き届けてもらい、いい環境に
 +めぐり合えたなぁと、うれしい気持ちで一杯でした。
 +
 +
 +藤原和博さんの著書「リクルートという奇跡」の中に出てくる、リクルートが事件
 +前まで掲げていた「自ら機会を創り出し、機会によって自らを変えよ」という社訓が、
 +頭の中に響いています。
 +
 +今度のことを決心していなかったら、自分がどんな環境にいるのか改めて考える
 +ことは無かったでしょうし、色々な人と接点を持つこともなかったと思います。
 +何でもいいから、自分できっかけを作りさえすれば、きっと出口がみつかるんじゃ
 +ないか、そんなことを考えていました。
 +
 +しかし.....受かるかなぁ。
 +今のところ、それが一番の問題だ(笑)
 +
 +
 +さて、2ヶ月あまりの充電期間ありがとうございました。
 +これからは毎週月曜日にお届けする予定です。気まぐれ屋なので、また小休止を
 +いただくこともあると思いますが、温かい目で見守ってやってください。
 +よろしくお願いいたします。
 +
 +それでは、また来週(^^)/
 +
 +
 +#今日は2X歳の誕生日です。
 +#どうやらカーセンサーの創刊日らしいです(笑)
 +
 +■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 +
 +                   【 Webプログラミング Code Sample 】
 +
 +                    発  行 : ichikoro.com
 +                発行責任者 : 勝部 麻季人
 +                              &lt; mailto:katsube@ichikoro.com &gt;
 +                 Webサイト : &lt; http://www.ichikoro.com/webp/ &gt;
 +            お問い合わせ先 : &lt; mailto:mm-webp@ichikoro.com &gt;
 +
 +                            Powerd by まぐまぐ
 +    All Right Reserved, CopyRight(C) 2001 Webプログラミング Code Sample
 +■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 +</pre></html>

関連ページ

webp/vol46.txt · 最終更新: 2020/06/23 14:10 (外部編集)