André Muschter: Zeichen-Maskierung

Beitrag lesen

Hallo, liebe Fachkollegen,

im Parameter-Datenstrom eines Perl-Skriptes werden bestimmte Zeichen (Sonderzeichen, ASCII-Codes
über 128) maskiert übertragen (bzw. sollten zumindestens!). Aus einem

ü   wird demnach ein   %FC

Am Anfang eines jeden Perl-Skriptes sollte demnach die Möglichkeit bestehen, diese Hexadezimal-Codes
in lesbare ASCII-Zeichen umzuwandeln. Dies kann man erreichen mit

$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

Mich würde nun an dieser Stelle interessieren, wie der umgekehrte Weg funktioniert, d.h. eine elegante Methode,
wie ich bestimmte ASCII-Zeichen in diesen %HexaCode wandeln kann, um den Ausgabestrom, der evtl.
Sonderzeichen etc. enthalten könnte, exakt abzuschicken. Die Anweisung sollte der obigen ähneln, also in
der Form:

$value =~ s/[äöüÄÖÜß#$]/???????????/eg;

Was müßte an Stelle der Fragezeichen für ein Ausdruck stehen, um äöüÄÖÜß#$ in %HexaCodes
umwandeln zu können?

Schöne Grüße

André