in reply to Regex for simple parsing job
my $str = <<TEXT; STARTP TITLE some gibberish some more gibberish ENDTITLE TITLE some gibberish some more gibberish ENDTITLE TITLE some gibberish some more gibberish ENDTITLE ENDP STARTP TITLE some gibberish some more gibberish ENDTITLE TITLE some gibberish some more gibberish ENDTITLE TITLE some gibberish some more gibberish ENDTITLE ENDP TEXT my @ary; foreach my $p ($str =~ /^STARTP\n(.*?)ENDP/msg) { my @p; foreach my $t ($p =~ /^TITLE\n(.*?)ENDTITLE/msg) { push @p, $t; } push @ary, \@p; } use Data::Dumper; print Dumper(\@ary);
$VAR1 = [ [ 'some gibberish some more gibberish ', 'some gibberish some more gibberish ', 'some gibberish some more gibberish ' ], [ 'some gibberish some more gibberish ', 'some gibberish some more gibberish ', 'some gibberish some more gibberish ' ] ];
update: a little bug fixed, 'm' modifier added to second regexp, thanks to guha
|
---|