Well what's interesting is if you use strict/warnings the following error message appears on line 13:
Odd number of elements in hash assignment at ./test1.pl line 13.
Use of uninitialized value in list assignment at ./test1.pl line 13.
Normally you don't assign a %hash one value but a key/value pair.
s;;5776?12321=10609$d=9409:12100$xx;;s;(\d*);push @_,$1;eg;map{print chr(sqrt($_))."\n"} @_;