GETでフォームからデータを送信する場合に、
URLエンコードという方法を使用します。

文字列を '%a5%a8%a5%b9%a5%b1%a1%bc%a5%d7'
こんな感じにエンコード(暗号化)します。

# $str を URLエンコードする

$str =~ s/(\W)/'%' . unpack('H2', $1)/eg;

すると、
文字列 'エスケープ'は、
'%a5%a8%a5%b9%a5%b1%a1%bc%a5%d7'という感じに暗号化されます。

では逆に、
'%a5%a8%a5%b9%a5%b1%a1%bc%a5%d7'を、
デコードします。

# $str を URLデコードする

$str =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;

すると、
文字列 '%a5%a8%a5%b9%a5%b1%a1%bc%a5%d7'は、
'エスケープ'という文字に変換されます。

詳しくは、
Perlメモ http://www.din.or.jp/~ohzaki/perl.htm