#!/usr/local/bin/perl
require 'libcgi.pl';
$title = "フォームのサンプル(キー付き文字列入力)";
%data = (
0, "データ00",
1, "データ01",
2, "データ02");
# URL decode
&decode_form();
$mode = $FORM{'mode'};
&head_html();
if ($mode eq 'key') {
$in_key = $FORM{'in_key'};
&out_key_html();
} elsif ($mode eq 'val') {
$in_val = $FORM{'in_val'};
&out_val_html();
} else {
&in_html();
}
&foot_html();
exit(0);
sub head_html {
print "Content-type: text/html\n\n";
print "
$title\n";
print "\n";
print "$title
\n";
}
sub in_html {
print "
入力テキスト(キー値入力)
\n";
print "\n";
print "
入力テキスト(データ値入力)
\n";
print "\n";
print "
選択入力テキスト(データ値入力)
\n";
print "\n";
print "
ラジオボタン(キー値入力)
\n";
print "\n";
}
sub out_key_html {
print "出力テキスト(キー値入力)
\n";
print "key = $in_key
\n";
print "val = $data{$in_key}
\n";
}
sub out_val_html {
print "出力テキスト(データ値入力)
\n";
foreach $key (sort keys %data) {
if ($data{$key} eq $in_val) {
print "key = $key
\n";
break;
}
}
print "val = $in_val
\n";
}
sub foot_html {
print "
\n";
print "このCGIのソース:\n";
print "form02.cgi\n";
print "libcgi.pl
\n";
print "
データ形式:
\n";
print "\n";
print "key | val |
\n";
foreach $key (sort keys %data) {
print "$key | $data{$key} |
\n";
}
print "
\n";
print "\n";
}