Thread Variabler Regex mit komplizierten Zeichen (15 answers)
Opened by marky at 2012-04-08 13:42

pq
 2012-04-08 15:11
#157320 #157320
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
also wenn ich deinen code korrigiere (richtig quoten, das s bei $s3 vergessen), sehe ich kein problem:

Code: (dl )
1
2
3
4
5
6
7
$ perl -wE'
my $s1 = "aaabbbccc" ;
my $s2 = "bbb" ;
my $s3 = q{!§$%&/()=?};
$s1 =~ s/\Q$s2\E/$s3/g;
say $s1'
aaa!§$%&/()=?ccc


wie man sieht, wird
bbb
durch
!§$%&/()=?
ersetzt, und das ist genau, was in $s3 steht.

bei deinem code kann das natürlich nicht funktionieren:
$s3 = "!§$%&/()=?" ;

wenn du das in doppelte anfuhrungszeichen stellst, wird ja $ interpoliert. das bedeutet, $% wird durch den inhalt der variable $% ersetzt (vermutlich leer, siehe perldoc perlvar).


kannst du vielleicht wirklich mal ein echtes beispiel zeigen?
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 Variabler Regex mit komplizierten Zeichen