I know, but to make this work in a general fashion when converting Python code to Perl code, you need to make sure that no list element can stringify to something containing $; - it's possible but not quite simple (that's what I wanted to say when I mentioned URLencoding). Of course simply storing a (stringified) reference to a static array (which implements a tuple) would also work, but then you're on the way of reimplementing Python in Perl - a slippery slope.
For general consumption, there also is Hash::MultiKey, which allows one to use (general) lists (or rather, references to those) as hash keys, presumably in the same way, by storing a stringified list reference as the hash key.
perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The
$d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider
($c = $d->accept())->get_request(); $c->send_response( new #in the
HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web
| [reply] [d/l] |