optional.cgi
#!/usr/bin/perl @pairs = split(/&/, $ENV{'QUERY_STRING'}); foreach $pair (@pairs) { ($key, $value) = split (/=/, $pair); $key =~ tr/+/ /; $key =~ 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; $value =~s/<!--(.|\n)*-->//g; if ($formdata{$key}) { $formdata{$key} .= ", $value"; } else { $formdata{$key} = $value; } } print "Content-type: text/html\n\n"; $phone = $formdata{'phone'}; if ($phone =~ /^(\(\d\d\d\))? ?\d\d\d-\d\d\d\d$/) { print "You entered the phone number <B>$phone</B>"; } else { print "Please enter the phone number in the form <P>(123) 456-7899<P>(The area code is optional.)"; }