#! /usr/bin/perl
use strict;
use warnings;
use utf8;
use File::Basename qw/basename dirname/;
my $DIRNAME = dirname $0;
my $BASENAME = basename $0;
my $CONF_FILE= "$DIRNAME/cgi.json";
if ( ! -e $CONF_FILE ) {
print "Content-type: text/html\n\n ${CONF_FILE} could not be read.\n$!$@";
exit;
}
my $CONFIG = do $CONF_FILE
or die "${CONF_FILE} is could not read.\n$!$@";
my $PARMS = $ENV{'QUERY_STRING'};
my $METHOD = $ENV{'REQUEST_METHOD'};
if ( $METHOD eq "POST" || $METHOD eq "PUT" ) {
read(STDIN, $PARMS, $ENV{'CONTENT_LENGTH'});
}
my ($USER, $DATE);
for my $PARM ( split(/&/, $PARMS) ) {
my ($KEY,$VAL) = split(/=/,$PARM);
$VAL =~ s/%([0-9a-fA-F][0-9a-fA-F])/chr(hex($1))/ego;
if ($KEY eq "user") { $USER=$VAL; }
if ($KEY eq "date") { $DATE=$VAL; }
}
print << "END";
Content-type: text/html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>$CONFIG->{title}</title>
</head>
<body>
<div>Input parameters:$PARMS</div>
<div>User:$USER</div>
<div>Date:$DATE</div>
</body>
</html>
END