#!/usr/local/bin/perl $InputFile = "input.txt"; $TextFile = "original_file.pl"; $Filetext= "modified_file.pl"; $CGIURL = "http://www.webiste/cgi-local/mainfile.pl"; print "Content-type: text/html\n\n"; read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/, $buffer); foreach $pair (@pairs){ ($name, $value) = split(/=/, $pair); $name =~ tr/+/ /; $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; if ($FORM{$name}) { $FORM{$name} = "$FORM{$name}, $value"; } else { $FORM{$name} = $value; push (@variables,$name); } } if ($FORM{'TextFile'}) { &SendFile; } if (-d $TextFile) { opendir(FILES,$TextFile); @tempfiles = readdir(FILES); closedir(FILES); foreach $file (@tempfiles) { if (-T "$TextFile/$file") { push (@files, $file); } } srand(); $files = @files; $file = @files[int(rand($files))]; $TextFile = $TextFile."/".$file; } open (FILE,"$TextFile"); @LINES = ; close (FILE); $text = join(' ',@LINES); $text =~ s/\n/ /g; $text =~ s//>\n/g; @text = split('\n',$text); undef (@variables); foreach $line (@text) { if ($line =~ s//$1/) { push (@variables,$line); } } @sortedvariables = sort (@variables); open (FILE,"$InputFile"); @LINES = ; close (FILE); foreach $line (@LINES) { if ($line =~ //i) { print "
\n"; print "\n"; print "

\n"; foreach $variable (@sortedvariables) { next if ($variable eq $lastvariable); print ""; print "\n"; $lastvariable = $variable; } print "

$variable:

"; print "

\n"; print "

\n"; print "

\n"; } else { print $line; } } exit; sub SendFile { open (FILE,"$FORM{'TextFile'}"); @LINES = ; close (FILE); $text = join(' ',@LINES); #$text =~ s/\n/ /g; $text =~ s/^\s+//; $text =~ s/\s+$//; foreach $variable (@variables) { if ($FORM{$variable} eq "") { print "incomplete!\n"; exit; } $text =~ s//$FORM{$variable}/g; } #$text =~ s/A\/an (a|e|i|o|u)/An $1/g; #$text =~ s/a\/an (a|e|i|o|u)/an $1/g; #$text =~ s/A\/an/A/g; #$text =~ s/a\/an/a/g; open(OUT,">$Filetext") or die $!; print OUT "$text\n" or die $!; close(OUT) or die $!; exit; }