kurukuru-papaのブログ

主に、ソフトウェア開発に関連したメモを書き溜めたいと思います。

GET/POST情報をHTML出力するCGI

GET/POST情報をHTML出力するCGIを作ってみました。

#!/usr/bin/perl
# print_param.pl
#
# 2008/06/18 新規作成

use strict;

my $param = "";
if ($ENV{'REQUEST_METHOD'} eq "POST") {
	read(STDIN, $param, $ENV{'CONTENT_LENGTH'});
} else {
	$param = $ENV{'QUERY_STRING'};
}

print "Content-type: text/html\n\n";
print "<h1>GET/POSTパラメータ出力ツール</h1>\n";

print "<p>\n";
print "\$ENV{'REQUEST_METHOD'}=[$ENV{'REQUEST_METHOD'}]<br>\n";
print "</p>\n";

print "<p>\n";
print "パラメータ一覧<br>\n";
my $count = 0;
foreach (split(/&/, $param)) {
	my ($name, $value) = split(/=/);
	$value =~ tr/+/ /;
	$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
	print "[$name]=[$value]<br>\n";
	$count = $count + 1;
}
print "全$count件<br>\n";
print "</p>\n";

print "<hr>\n";

exit;