$URL =~ s/&/&/g; # numeric entities $URL =~ s/&#(\d+);/pack('c', $1)/ge; # hex escapes $URL =~ s/%(\d{2})/pack('c', $1)/ge; # 'decimal' IP $URL =~ s/(\d{5,})/join('.', unpack('C4', pack('N', $1)))/ge; #### 0000 h t t p : / / w w w . d n s 020 002 0020 005 005 005 020 002 020 005 020 020 020 005 005 020 002 020 020 0040 002 020 020 002 m a g i c s i t e . n e 0060 t & 6 4 . 1 7 6 . 4 5 . 4 4 @ 6 0100 4 . 1 7 6 . 4 5 . 4 3 & 6 3 . 9 0120 6 . 2 . 2 3 7 @ 2 0 8 . 6 2 . 1 0140 4 . 2 4 8 ? 4 . 1 2 8 . 1 7 0 . 0160 1 2 2 & p r o x y = 6 3 . 9 6 . 0200 2 . 2 1 8 ? 6 4 . 1 7 6 . 4 5 . 0220 4 3 @ 6 3 . 9 6 . 2 . 2 3 7 ? w 0240 w w . s u 2 5 3 7 . t w | w w w 0260 . 020 002 005 005 005 020 020 020 005 005 020 002 020 020 002 0300 020 020 002 . h k ? / p r o x y = 6 3 0320 . 9 6 . 2 . 2 2 7 @ 1 3 1 . 1 0 0340 3 . 2 2 9 . 3 7 : 2 0 3 0 @ 1 3 0360 1 . 1 0 3 . 2 2 9 . 5 ? / @ 6 4 0400 . 1 7 6 . 1 2 2 . 1 4 : 8 0 8 0 0420 @ 6 4 . 1 7 6 . 1 1 3 . 8 8 @ 037 0440 036 & # ! 036 # 037 $ # \n 0452