CGI 作成の初歩 |
|
1. HTMLページを表示してみる |
まずは下のソースを見て下さい。
この三行のみのソースで、実行するとブラウザ上に 太郎 と表示します。
それでは、それぞれの行の意味を順番に見ていきましょう。
一行目
#!/usr/local/bin/perl
この行では Perl のパスを指定しますので、ご利用のホームページスペースの指示に従い記述します。
例えばPerl のパスが /usr/bin/perl と記載されていたら、 #!/usr/local/bin/perl と修正します。
Perl のパスは、直接実行されるもののみに必要な記述で、別に読み込まれるファイルなどには不必要です。
自分がアップロードしたスクリプトを実行する Perlの位置を指定する記述なので、初めから作成される方や
初めて設置する方などは特に、お使いのホームページスペースの仕様を確認し、正しく指定しましょう。
二行目
print "Content-type: text/html\n\n";
この行では、CGI から出力されるものをブラウザにHTMLページですよ と指示しています。
通常のHTMLページや画像などは拡張子から判断されサーバ側からブラウザへ形式を指示する為、画像などを
入れる際に特に記述は必要ありませんが、CGI から出力されるデータは、どのような物なのか分からない為に、
どのようなものなのかを示す事が重要で、例えばGIF画像であれば Content-type:
image/gif と指定が必要です。
この行はページを表示し始める前に1行あれば結構です。
これは mime-type と呼ばれ、こちら側で指定してもサーバ側の設定がしていない場合は、正しいデータとして
認識させる事が出来ない為、表示してみると意味不明の文字列などが表示される場合もあります。
この場合は、サーバ側でそれらの形式に対応しているか、又 .htaccess というサーバ側に指示をする事ができる
ファイルで指定ができるかなどを調べて下さい。
三行目
print "太郎";
この行が実際にブラウザに表示される部分で、 " と " の間にある文字列がブラウザに表示されます。
上記サンプルでは特に指定が無いので画面表示されますが、ファイルハンドルなどを指定すると値を
ファイルハンドルへ書き出すなどが出来ます。
【関連項目】 ファイルへの書き出し
関数を実行する場合やサブルーチンを呼び出す場合など意味のある行では全て命令の終了合図として ; が必要です。
また、出力する文字列などは " もしくは ' で囲う決まりになっており、 " は内部の展開をする ' は展開しないといった意味があります。
この辺りの展開などは「変数の使い方を理解する」の項で説明していますのでご参照下さい。
|
実際にアップロードして表示してみる |
実際にこのソースをコピーし、テキストエディタで適当な名前 (例えば test.cgi
) などで保存し、
お使いのホームページスペースにアップロード、実行してみて下さい。
実行する場合は、アップロードしたURL/CGI名 をブラウザのアドレス欄に入力してキーボードの【Enter】を押します。
例えば
https://aimix.jp/biginnerscgi/ に test.cgi という名前でアップロードした場合
https://aimix.jp/biginnerscgi/test.cgi とブラウザのアドレス欄に入力し【Enter】を押します。
実行すると下のように表示されます。
|
表示する行数を増やす |
一行にそのまま書いてもいいですが、複数の行に分けて書くこともできます。
これを実行すると、下のようになります
CGI での表示部分は二行ですが、続けて表示しているだけなので一行で表示されます。
|
改行するには (ブラウザ上の改行) |
ブラウザ上で改行するには、HTMLタグの <BR> を使います。
これを実行すると、下のようになります
ブラウザ上で改行が行われました。
表示されたら、そのままブラウザのメニューから【ソース】 を選択してソースを表示してみて下さい。
こちらは一行で 太郎<BR>花子 と表示されていると思います。
|
改行するには (ソースの改行) |
ソースの改行を行うには 改行コードの \n を使います。
太郎<BR> の後に改行コードを入れてみましょう。 |
実行結果は先ほどと同じようになっていると思いますが、同じようにページのソースをみてみると、
改行コードを入れた為、下のようになっていると思います。
|
この方法では条件式などで個別に表示したい場合など使えますが、何行にも渡るソースを表示するには
難しいので、次項で複数行のソースを一気に表示する方法を使ってみます。 |
|
|
|