Das ? bedeutet, das er bis zum ersten Vorkommniss findet. .* ist gierig und findet ohne das ? die letzten 5 Buchstaben. Mit die ersten 5. Gut, dann hab ich es falsch verstanden - hattest recht. Hoff nur, du hast auch was lernen können -- perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
Joa. Diese Gier habe hab ich eigentlich noch nie so zur Kenntnis genommen. Irgendwie scheine ich die Ausdrücke immer so zu schrieben, dass es gar nicht erst zu Gier kommen kann. Dass .* an sich erstmal zu gierig ist, wusst ich schon, aber das mit ? zu unterbinden ist mir neu.