in reply to Regex for simple parsing job
Would have been nice to see you code so we could show you where you are going wrong. But this seems to do what you want.
#!/usr/bin/perl use strict; use warnings; my $data = do { local $/; <DATA> }; my @data = $data =~ /STARTP(.*?)ENDP/sg; foreach (@data) { my @titles = /TITLE(.*?)ENDTITLE/sg; $_ = \@titles; } foreach my $i (0 .. $#data) { print "Block $i\n"; foreach my $j (0 .. $#{$data[$i]}) { print "Title $j:\n$data[$i][$j]\n"; } print "\n"; } __DATA__ 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
"The first rule of Perl club is you do not talk about
Perl club."
-- Chip Salzenberg
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Regex for simple parsing job
by toadi (Chaplain) on Jul 27, 2004 at 09:39 UTC | |
|
Re^2: Regex for simple parsing job
by toadi (Chaplain) on Jul 27, 2004 at 09:53 UTC | |
by davorg (Chancellor) on Jul 27, 2004 at 10:10 UTC | |
by toadi (Chaplain) on Jul 27, 2004 at 10:39 UTC |