Kurt Faymon wrote:
>
> Given the Input of:
>
> <H1>whatever.....
> <H2>whatever.....
> <H3>whatever.....
> <H4>whatever.....
> <p>whatever.....
> <H2>whatever.....
> <H3>whatever.....
> <H4>whatever.....
> <p>whatever.....
> <H3>whatever.....
> <H4>whatever.....
> <p>whatever.....
> <H3>whatever.....
> <H4>whatever.....
> <p>whatever.....
> <H4>whatever.....
> <p>whatever.....
> <p>
>
> How can I read in the records bases on 'blocks starting with <H,, that is
> grouped as follows:
>
> Record1:
> <H1>whatever.....
> <H2>whatever.....
> <H3>whatever.....
> <H4>whatever.....
> <p>whatever.....
>
> Record2:
> <H2>whatever.....
> <H3>whatever.....
> <H4>whatever.....
> <p>whatever.....
>
> Record3:
> <H3>whatever.....
> <H4>whatever.....
> <p>whatever.....
>
> Record 4:
> <H3>whatever.....
> <H4>whatever.....
> <p>whatever.....
>
> Record 5:
> <H4>whatever.....
> <p>whatever.....
> <p>
$ cat test01.txt
<H1>whatever.....
<H2>whatever.....
<H3>whatever.....
<H4>whatever.....
<p>whatever.....
<H2>whatever.....
<H3>whatever.....
<H4>whatever.....
<p>whatever.....
<H3>whatever.....
<H4>whatever.....
<p>whatever.....
<H3>whatever.....
<H4>whatever.....
<p>whatever.....
<H4>whatever.....
<p>whatever.....
<p>
$ perl -ne'
/^<H/../^<p>/ and $rec[$a] .= $_;
/^<p>/ and $a++}{
print"Record $_:\n$rec[$_]\n" for 0..$#rec
' test01.txt
Record 0:
<H1>whatever.....
<H2>whatever.....
<H3>whatever.....
<H4>whatever.....
<p>whatever.....
Record 1:
<H2>whatever.....
<H3>whatever.....
<H4>whatever.....
<p>whatever.....
Record 2:
<H3>whatever.....
<H4>whatever.....
<p>whatever.....
Record 3:
<H3>whatever.....
<H4>whatever.....
<p>whatever.....
Record 4:
<H4>whatever.....
<p>whatever.....
Or if you don't want a one-liner. :-)
my $records;
my $index;
while ( <> ) {
if ( /^<H/ .. /^<p>/ ) {
$records[$index] .= $_;
}
$index++ if /^<p>/;
}
for my $index ( 0 .. $#records ) {
print "Record $index:\n$records[$index]\n";
}
__END__
John
--
use Perl;
program
fulfillment
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]