Thread Referenzierung von Teilmustern dynamisch ausgeben: Referenzierungs variable dynmaisch setze
(18 answers)
Opened by eisbaermann at 2006-01-12 11:29
Irgendwie habe ich das gefuehl, ihr doktort an der voellig falschen stelle herum...
Regulaere Ausdruecke sollte man lieber nicht als string angeben, sondern als regulaeren ausdruck: Code: (dl
)
1 $testar{ 'reg1' } = { das \Q....\E sagt aus, dass dort irgendwelche Zeichen, die fuer eine Regex Sonderzeichen sind, gequotet werden; sonst kann die verwendung probleme bereiten (z.B. oeffnende Klammern, +, *, ...) Code: (dl
)
1 #!/usr/bin/perl 1. Loesungsansatz: vermutlich unnoetig kompliziert, aber falls 2. nicht in frage kommt... Code: (dl
)
1 my %testar = ( 2. Loesungsansatz: aber diese loesung ist immer noch viel zu kompliziert; wenn du nur ein einziges feld haben willst und dich der rest nicht interessiert, warum capturest du es dann? Mit (?:\d*) kannst du nicht einfangende klammern schreiben; dann kannst du auf das desc verzichten, auf den arrayindex -1 und vielleicht auch auf eine ebene, z.B. Code: (dl
)
1 my %testar = ( (wobei man in diesem fall (?:\d*) auch einfach durch \d* ersetzen koennte...) wenn man ueberlegt, no strict zu verwenden, ist man in 95% der faelle auf dem falschen weg, und handelt sich nur mehr probleme ein als man damit loest.\n\n <!--EDIT|Strat|1137066483--> perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |