EMBPERL Getting Values from Query String

Code to loop through query string and get name/value pairs.

[- @pairs = split(/\&/, $ENV{'QUERY_STRING'}); -]
<ul>
[$ foreach $pair (@pairs) $]
[-
  ($name, $value) = split(/=/, $pair); # Split into name and value.
  $$name = $value; # Assign value to scalar matching name.
  $$name =~ s/%(..)/chr(hex($1))/ge; # Decode encoded stuff.
  $$name =~ s/\+/ /g; # substitute +'s for spaces.
-]
  <li>name = [+ $name; +]; value = [+ $value +]</li>
[$ endforeach $]
</ul>