#!/usr/bin/perl

$tmpfile = "/tmp/cgi-emu.$$";

# print header and first line of emulator
print "Content-Type: text/plain\n\n";
print "#!/bin/sh\n\n";

# modify environment variables
$ENV{"SCRIPT_NAME"} =~ s/cgiemu$/\$CGIPROGRAM/;
$ENV{"SCRIPT_FILENAME"} =~ s/cgiemu$/\$CGIPROGRAM/;

# set up environment variables
foreach $var ( sort ( keys %ENV ) ) {
  if ( $var =~ /^SCRIPT/i ) {
    print "$var=\"$ENV{$var}\"\n"; }
  else {
    print "$var='", $ENV{$var}, "'\n"; }
  print "export $var\n";
}
print "\n";

if ( $ENV{"REQUEST_METHOD"} =~ /GET/i ) {
  print "./\$CGIPROGRAM\n"
}
elsif ( $ENV{"REQUEST_METHOD"} =~ /POST/i ) {
  print "./\$CGIPROGRAM < $tmpfile\n";
  open ( TMP, ">$tmpfile" );
  read ( STDIN, $data, $ENV{"CONTENT_LENGTH"} );
  print TMP $data;
  close ( TMP );
}

