cgi-lib.plの利用

フォームデータの分割サブルーチン・パッケージcgi-lib.plの利用

@まず、データを受取るCGIプログラムファイルの中で、フォームデータ分割サブルーチンが保存されているパッケージ (複数のプログラムが保存されているファイル)を使うことを宣言する。

require ‘cgi-lib.pl’;

A次にデータ分割のサブルーチン(ReadParseという名前)を実行する文を記述する。
&ReadParse;
&マークはサブルーチンを実行するという意味になる。

これでデータの分割は終了した。
どのような形でデータが分割されたかを見ていくと、たとえば という1行テキストフォームに 下の図のようにbbbと入力があるとする。

CGIに渡されるデータはaaa=bbbとなっている。
このとき、ReadParseサブルーチンでは%inという連想配列にaaaをキーとして、つまり$in{“aaa”}にbbbという値が保存される。
これは、
$in{“aaa”}=”bbb";
という代入文と同じになる。
このままプログラムに中で連想配列を用いても良いが、後で分かりやすくするためにこの値を改めて$aaaという配列に保存しておく。
$aaa=$in{“aaa};

HTMLのフォームのところで、入力欄につけた名前とそのフォームのデータが

$in{“入力欄の名前”}=入力データ

と言う形で保存されることになる。

このときも、
$入力欄の名前=$in{“入力欄の名前”};
と入力欄の名前と同じ変数に代入しなおしておくと分かりやすい。

さらに、このサブルーチンではスペースや漢字の置き換えも自動的に行われる。