Thread UUencode und Base64 (8 answers)
Opened by rosti at 2018-10-19 08:13

renee
 2018-10-19 09:47
#188994 #188994
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
tr#A-Za-z0-9+/##cd;
ist (im Prinzip) das gleiche wie
Code: (dl )
$_ =~ s/[^A-Za-z0-9+\/]//g


tr ersetzt jedes Vorkommen jedes Zeichens aus dem ersten Teil (Suchteil) durch das entsprechende Zeichen aus dem zweiten Teil (Ersetzenteil).

tr/AB/nm/ ersetzt also alle "A" durch "n" und alle "B" durch "m".

Wenn - wie oben - der Ersetzenteil leer ist, wird einfach der Suchteil auch als Ersetzenteil genommen.

tr/AB// ist also das gleiche wie tr/AB/AB/.

Mit "-" kann man Zeichenklassen definieren. tr/0-3// ist also das gleiche wie tr/0123//.

Das c-Flag bewirkt, dass das Komplement der Suchliste genommen wird und das d-Flag, dass alle Zeichen, die gefunden aber nicht ersetzt werden aus dem String gelöscht werden.


Code: (dl )
tr#A-Za-z0-9+/# -_#;


Diesmal gibt es auch im Ersetzenteil eine Zeichenklasse. Nämlich von " " bis "_". Welche Zeichen das sind, kann man leicht mit perl -E 'say ">>",chr($_),"<<" for ( ord(" ") .. ord("_"))' herausfinden...

Eine Verkürzung: tr#A-C# -"# ist das gleiche wie tr#A-C# !"# bzw tr#ABC# !"#
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread UUencode und Base64