Thread neuerer vergleich Perl mit awk: awk /start/,/end/ '{print $2}'
(5 answers)
Opened by lichtkind at 2006-01-14 19:32
Jo, die if-Anweisung ist etwas ungewoehnlich, sie verwendet den Bereichsoperator .., aber anders als man ihn in foreach-Schleifen, etc. kennt, naemlich im skalaren Kontext und dann verhaelt er sich so wie der Komma-Operator bei awk.
Ist der linke Operand wahr ist der gesamte Ausdruck wahr und bleibt so lange wahr bis der rechte Operand wahr wird, dann ist er wieder unwahr (falsch). Der linke Operand wird nur ausgewertet wenn der Operator unwahr ist und der rechte Operand nur wenn der Operator wahr ist. Funktioniert, simplifiziert, in etwa so Code: (dl
)
1 #!/usr/bin/perl Hoffe es ist etwas verstaendlich, wenn nicht, dann hilft perldoc perlop (Range Operator), bzw. das Kamelbuch (Kap. 2 - Bereichsoperator) und es steht noch was im Kochbuch (Kap. 6 - Mustererkennung - Einen Bereich extrahieren). Zum besseren Verstaendnis hab ich daraus eine Sub gemacht (haette ich gleich tun sollen). Code: (dl
)
1 #!/usr/bin/perl <!--EDIT|coax|1137273982--> ,,Das perlt aber heute wieder...'' -- Dittsche
|