[ CGI集 | CGI解説 | Perl解説 | HTML解説 | LinuxMemo | Q&A | QuizLink ]      

MyTools.NET - 独学Perl小技集

 PerlでのCGIプログラミングの小技集です。基礎からマニアックなものまで色々取り揃えてます。

目次

CGIプログラミングの基本 〜 不思議な呪文 #!/usr/bin/perl と text/html

 まずは文字を表示させることから始めましょう。Perlでは文字の表示はprintという命令を使います。普通のHTMLを書くようにprint文でタグを出力していくだけです。ただし次の約束を守る必要があります。

  1. ファイルの拡張子をCGIプログラム用のものにする。  [例] bbs.cgi, count.cgi
  2. ファイルの先頭にPerlのパスを書く。  [例] #!/usr/local/bin/perl
  3. 一番最初に「Content-type: text/html」の一行と空行を表示する

 1,はサーバに「これはCGIプログラムですよ」と知らせるために必要なものです(CGIってなあに? → CGIの仕組み参照)。大抵のプロバイダでは.cgiです。詳しくはプロバイダのページをご覧下さい。

 2,はサーバに「このCGIプログラムはPerlで書かれていますよ」と知らせるために必要なものです。Perlのパスはプロバイダによって違いますので、お使いのプロバイダのホームページをチェックしてみてください。パスの頭に必ず#!を付けて書きます。

 3,はブラウザに「このプログラムの出力結果をHTML文書として扱ってください」とお願いするために必要なものです。ここで注意しなくてはいけないのは、この表示の後に一行の空行を入れることです。この空行がないとCGIプログラムは正常に動作しません。print文内の\nは改行を表します。ソースでは「print "Content-type: text/html\n\n」と二回続けて、一行の空行を生み出しています。

 以上の約束を守ったら、あとは普通のHTMLをprint文で書いていくだけです。以下に最も簡単なCGIプログラムの例を示します。

!SAMPLE!

 このファイルをFTPのアスキーモードでアップロードし、パーミッションを705に設定し(詳しくはCGIってなあに? → 能書きはいいからどうやって使うの?参照)、ブラウザからアクセスします。画面に「Hello!」と表示されればOKです。

[index]

 

FORMからの入力を受け取る 〜 (執筆中)

(執筆中)

[index]

 

入力を正規表現でチェックする 〜 (執筆中)

(執筆中)

[index]

 

日本語はそのままだと化ける 〜 (執筆中)

(執筆中)

[index]

 

ファイルの読み書き 〜 (執筆中)

(執筆中)

[index]

 

CSVよりTSVを使え 〜 (執筆中)

(執筆中)

[index]

 

print文は一度だけにしろ 〜 (執筆中)

(執筆中)

[index]

 

エラー処理専用関数 〜 (執筆中)

(執筆中)

[index]

 

配列をランダムにかき混ぜる 〜 (執筆中)

(執筆中)

[index]

 

共通の処理をまとめてライブラリを作る 〜 (執筆中)

(執筆中)

[index]

 

GD.pm 〜 画像生成用ライブラリ 〜 (執筆中)

(執筆中)

[index]

 

日本語パターンマッチングで注意すること 〜 (執筆中)

(執筆中)

[index]