Thread regexp, substr(), unicode und ein Brett vor dem Kopf (2 answers)
Opened by SlowFox at 2012-08-13 07:01

pq
 2012-08-13 12:43
#160851 #160851
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
das scheint ein bug zu sein, der in 5.14 gefixt wurde. mit 5.14.2 hier kommt jedenfalls kein null-byte mehr. ich finde allerdings nicht den entsprechenden eintrag in der bugreport-liste.

generell kann man aber sagen, dass es immer gut ist, $1 etc. möglichst schnell in variablen abzuspeichern, da $1 und Co. spezielle variablen sind.
sie sind eigentlich nur referenzen auf den gematchten string, daher kannst du sowas lustiges machen:

Code (perl): (dl )
1
2
3
4
my $s = "foo";
$s =~ m/(oo)/g;
$s = "bar";
say $1;


ausgabe ist nicht "oo", sondern "ar".
funktioniert aber nur mit dem /g modifier.

alternativ zu einer temporären variable geht auch immer "$1", also:
$name = substr("$1", 0, 128);
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 regexp, substr(), unicode und ein Brett vor dem Kopf