#!/usr/bin/perl5/perl &get_form_data; print "Content-type: text/html\n\n"; opendir(DIR, "./Data"); while($name = readdir(DIR)) { next if $name !~ /^\d*.html/; push(@files, $name); } close(DIR); if($#files == 0) { $nextfile = "1.html"; } else { $lastfile = $files[$#files]; $lastfile =~ s/.html//g; $nextfile = $lastfile + 1; $nextfile .= ".html"; } open(OUT, ">Data/$nextfile"); print OUT "<HTML>\n<HEAD>\n "; print OUT "<TITLE>\n"; print OUT "$FORM{'title'}\n"; print OUT "</TITLE>\n"; print OUT "</HEAD>\n"; print OUT "<BODY BGCOLOR=\"#FFFFFF\">\n"; print OUT "<CENTER><H1>\n"; print OUT "$FORM{'heading'}\n"; print OUT "</H1></CENTER><BR>\n"; print OUT "<P>\n"; print OUT "$FORM{'body'}\n"; close(OUT); push(@files, $nextfile); print "<HTML>\n<BODY>\n"; foreach $file (@files) { print "<A HREF=\"Data/$file\">$file</A>\n"; print "<BR>\n"; } print "</BODY>\n</HTML>\n"; exit; sub get_form_data { # Get the input read(STDIN, $buffer, $ENV{ 'CONTENT_LENGTH' } ); # Split the name-value pairs @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); # Un-Webify plus signs and %-encoding $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/\0//g; $value =~ s/<!--(.|\n)*-->//g; $value =~s/\cM//g; $value =~s/\n\n/<p>/g; $value =~s/\n/<br>/g; $FORM{ $name } = $value; } }
In reply to New and need help in cgi, perl by britney
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |