Timo Wintringer: Einen Bereich suchen !

Hallo

wie kann ich in Perl den Bereich zwischen
"begin" und "Ende" suchen und diesen in einem Array
ablegen ?

Gibt es dazu einen speziellen Ausruck oder muss ich alles Zeilenweise abarbeiten ?

Danke
Timo

.
.
.
<!--Begin-->
*
*
*
<!--Ende-->
.
.
.

  1. Hi Timo

    wie kann ich in Perl den Bereich zwischen
    "begin" und "Ende" suchen und diesen in einem Array ablegen ?
    Gibt es dazu einen speziellen Ausruck oder muss ich alles Zeilenweise abarbeiten ?

    [...]

    <!--Begin-->
    *
    <!--Ende-->

    Du kannst einen Schalter einführen, und in Abhängigkeit vom Wert des Schalters die Zeilen in ein Array pus(c)hen. Beim Überprüfen jeder Zeile schaltest Du den Schalter ein wenn <!--Begin--> auftaucht, und aus, wenn <!--Ende--> erscheint.
    Bsp.: (untested)
    my $schalter = 0;
    my @extract = ();
    foreach (@zeilen) {
       $schalter = 1 if /<!--Begin-->/;
       $schalter = 0 if /<!--Ende-->/;
       push @extract, $_ if $schalter == 1;
    }

    So, oder so ähnlich könnte es funktionieren :-)

    Gruß AlexBausW

  2. wie kann ich in Perl den Bereich zwischen
    "begin" und "Ende" suchen und diesen in einem Array
    ablegen ?
    <!--Begin-->
    *
    *
    *
    <!--Ende-->

    Angenommen, das steht so im Skalar $text:

    my ($bereich) = $text =~ /<!--Beginn-->(.*)<!--Ende-->/s;

    Peter