in reply to HTML Decoding
$val =~ s|\n|\\n|g;
$val =~ s|"|\\"|g;
No! Please do not escape your data until you need it escaped. Not always do you need those annoying backslashes there. PHP has this evil sort of auto-escapes for SQL queries mainly, but with Perl you can use DBI's excellent placeholders. Where you need it escaped, you can use quotemeta, or its interpolation shortcut \Q: "foo \Q$bar\E baz".
foreach $var (sort(keys(%CONFIG)))
Why sort? You're not using the new order!
my($var,$val) = split(/=/, $qs2[$i]);
$HTTP::QueryString::GLOENV{$var} = $val;
That overwrites earlier set variables. This is described in great detail in Ovid's CGI course. Basically, foo=bar&foo=bar&foo=bar is a valid query string, that sets foo to three values: bar, bar and bar. You'll use this with multiple equally named checkboxes, <select multiple> and probably more.
for( my $i=0; $i<=$#qs2; $i++ )
Do use Perl's for (ARRAY), because it's faster and easier: for (@qs2) {
And use strict!
U28geW91IGNhbiBhbGwgcm90MTMgY
W5kIHBhY2soKS4gQnV0IGRvIHlvdS
ByZWNvZ25pc2UgQmFzZTY0IHdoZW4
geW91IHNlZSBpdD8gIC0tIEp1ZXJk
|
|---|