Thread my $count = ($input =~ tr/\E$zeichen//); (7 answers)
Opened by Gast at 2007-07-16 16:46

pq
 2007-07-16 17:04
#78528 #78528
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=Guest,16.07.2007, 14:46]my $count = ($input =~ tr/\E$zeichen\Q//);[/quote]
also da sind ja gleich mehrere merkwürdige sachen.

1. \E beendet escaping, \Q startet es. da du am anfang \E benutzt
und am ende \Q, kannst du es auch gleich weglassen

2. \Q und \E werden in tr/// gar nicht beachtet. tr/// akzeptiert
einzig und allein einzelne zeichen bzw. zeichenklassen

3. tr/// interpoliert auch keine zeichen, d.h. wenn du ein zeichen
dynamisch ersetzen willst, musst du s/// nehmen.

folgt:
Code: (dl )
my $count = ($input =~ s/$zeichen//g);
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread my $count = ($input =~ tr/\E$zeichen//);