Hi,
$Input =~ s+%$_+\x$_+g;
Ich kan für das \x$_ irgendein Zeichen zum Beispiel ? einsetzten und es funktioniert tadellos.
\x ist leider nicht so dynamisch, wie Du es gerne hättest: Die _Zeichenfolge_ "$_" wird hier versucht, als Hexwert zu interpretieren, nicht der Inhalt der Variablen.
Wenn ich Dein Anliegen aber richtig interpretiere, willst Du eigentlich das CGI-Modul und CGI::unescape verwenden:
use CGI;
my $input = '%FE%09'; # Es ist übrigens _sehr_ unüblich, Variablennamen mit Großbuchstaben beginnen zu lassen. Macht Quelltexte schwer lesbar, sowas.
$input = CGI::unescape($input);
Das hat zudem den Vorteil, daß _alle_ kodierten Sonderzeichen umgewandelt werden, und nebenbei kannst Du die Fähigkeiten des CGI-Moduls auch anderweitig in Deinem Script verwenden. Selbst in nicht-CGI-Scripts ist das zuweilen sehr nützlich.
Cheatah