2015年3月4日水曜日

Perlを学ぼう 6 入力フォームを作る

Perlを学ぼう講座も第6回となりました。この講座では基本的に「(僕が)作りたいものを作る。必要な知識はその都度解説。」というスタンスを取っています。よって、例えば繰り返し処理には while構文 以外にも for構文 や foreach構文 があるのですが、それは、後ほど機会があれば解説したいと思います。。。(´・ω・`)

ということで、せっかく Perl という Web開発に適した言語を勉強しているのですから、今回は簡単な「入力フォーム」でも作ってみましょう。

入力フォームというと前回作った1から100までを足すプログラムよりはずっと複雑です。今回は、PerlでCGIというものを作ります。CGIとはCommon Gateway Interfaceの略で、ウェブサーバ上でユーザプログラムを動作させるための仕組みです。(1)

昔、ホームページを作るのにHTML言語というのを使ったことがある人がいるかもしれませんが、HTMLだけだと日記とか自分のプロフィールを作るくらいの(静的な)コンテンツしか作れません。CGIを使えば、入力フォームの設置とか、掲示板とか、いろいろと複雑な(動的な)コンテンツが作れます。

入力フォームを作るわけですが、じゃあどこにその入力フォームを置くのかというと、自分のサーバーなわけです。ですから、まず自分のサーバーのほうで入力フォームの形を作らないといけません。

よって、まずは HTMLファイル を作らなくてはいけません。HTMLはHyperText Markup Languageの略で、Webページを作成する時に使用される言語の一つです。(2)

HTMLファイルの名前はわかりやすくform.htmlとでもしましょう。以下のコードはWeb libraryさんから引用したものです。(3)

<html>
<head>
<title>フォームサンプル</title>
</head>
<body>
<form method="post" action="form.cgi">
  <p>
    メッセージ<br>
    <input type="text" name="message" size="20" value="">
  </p>
  <p><input type="submit" value="送信する"></p>
</form>
</body>
</html>

このようなコードでHTMLファイルを作成します。
このHTMLのコードを実行すると、つぎのようなボタンができます。

キャプチャです

このフォームはまだ未完成かつ単なるキャプチャなので、メッセージを書くことができません。
このようなフォームからメッセージを送信し、CGIで受け取るわけです。

参照文献
(1)日本語版Wikipedia「Common Gateway Interface」参照。2015年3月5日閲覧。
(2)WebWord「HTMLとは」参照。2015年3月5日閲覧。
(3)Web library「フォームからの入力を受け取る」より引用。2015年3月5日閲覧。