sub unescape
{
my $to_decode = shift;
return undef unless defined($to_decode);
$to_decode =~ tr/+/ /;
$to_decode =~ s/%([0-9a-fA-F]{2})/pack("c",hex($1))/ge;
return $to_decode;
}
sub escape
{
my $to_encode = shift;
return undef unless defined($to_encode);
$to_encode=~s/([^a-zA-Z0-9_.-])/uc sprintf("%%%02x",ord($1))/eg;
return $to_encode;
}
1 kwi 2008