Here is yet another way of doing the parsing...

#!/usr/bin/perl -w use strict; while (<DATA>) { next unless /^@/; my $header = ($_ =~ m/([\w:\s]+)/)[0]; #tweak as necessary $header =~ s/\s*$//; $header =~ s/^\s*//; my @lines = get_data_4_header($header); print "** lines for \"$header\" **\n"; print @lines; print "\n"; } sub get_data_4_header { my $header = shift; #not used here, but could be if needed.. my @result=(); <DATA>; #throw away a line (i.e., the next --- line) while ( ($_ = <DATA>) !~ m/^-/) { push @result,$_; } return @result; } =Prints: ** lines for "Callsites: 2" ** ID Lev File/Address Line Parent_Funct MPI_Call 1 0 0x8048ad5 [unknown] Reduce 2 0 0x8048a3b [unknown] Bcast ** lines for "Aggregate Time" ** Call Site Time App% MPI% COV Bcast 2 9.5 24.71 65.75 0.59 Reduce 1 4.95 12.87 34.25 1.35 =cut __DATA__ ------------------------------------------------------------------- @--- Callsites: 2 ------------------------------------------------- ------------------------------------------------------------------ ID Lev File/Address Line Parent_Funct MPI_Call 1 0 0x8048ad5 [unknown] Reduce 2 0 0x8048a3b [unknown] Bcast ------------------------------------------------------------------ @--- Aggregate Time (top twenty, descending, milliseconds) --- ----------------------------------------------------------------- Call Site Time App% MPI% COV Bcast 2 9.5 24.71 65.75 0.59 Reduce 1 4.95 12.87 34.25 1.35 ----------------------------------------------------------------

In reply to Re: Parsing text sections by Marshall
in thread Parsing text sections by betacentauri

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.