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
In reply to Re: Regex for simple parsing job
by ccn
in thread Regex for simple parsing job
by toadi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |