instead ofuse CGI; my $cgi = CGI::->new(); my %FORM = $cgi->Vars();
because it is much more flexible and secure. What happens with your code if there are multiple checkboxes with the same name? What if a value contains the char = ?read(STDIN, $input, $ENV{'CONTENT_LENGTH'}); # split the input @pairs = split(/&/, $input); # split the name/value pairs 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; $value =~ s/<([^>]|\n)*>//g; $FORM{$name} = $value; }
If you worry about the overhead of loading the CGI-Module: most often it doesn't matter at all. If it mattered, you could use CGI_Lite instead.
Btw: is it possible for you to directly work with the hash %FORM instead of converting everything to a scalar variable?
Best regards,
perl -e "s>>*F>e=>y)\*martinF)stronat)=>print,print v8.8.8.32.11.32"
In reply to Re: Changes to Quiz script
by strat
in thread Changes to Quiz script
by pip
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |