Dafür gibt es zwar bereits die ein oder andere Funktion, aber manchmal braucht man es doch per Hand. 😉
## Sonderzeichen werden ersetzt
$string4transform =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg ;
Das ganze lässt sich natürlich auch in einer simplen Funktion unterbringen.
# Recode Strings to use it in a URL
#
sub StringURL {
my ($string4transform) = @_ ;
## Sonderzeichen werden ersetzt
$string4transform =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg ;
return ($string4transform) ;
}