in reply to xNN

Just a minor nitpick.

Instead of my%i = map {$_ => param($_)} param; you could use the prepared function Vars

my %i = Vars;

Of course this would require some changing of your call to

use CGI qw/param Vars header url/;

Credit of this reply goes to all those folks at node_id #94303

$_.=($=+(6<<1));print(chr(my$a=$_));$^H=$_+$_;$_=$^H; print chr($_-39); # Easy but its ok.