Yes, poj, you're right, there were two mistakes.

This is the amended (and tested) version:

use strict; use warnings; my $input = "input.txt"; open my $IN, "<", $input or die "cannot open $input $!"; my $output = "output.txt"; open my $OUT, ">", $output or die "cannot open $output $!"; while (my $line = <$IN>) { chomp $line; # remove newline character from end of line if ($line =~ /INTERPOLATED HYDROGRAPH AT (\w+)$/){ print $OUT $1; $line = <$IN> for 1..6; # skip 5 lines my $val2 = (split / /, $line)[1]; # get the second column print $OUT " $val2"; $line = <$IN>for 1..2; # skip one line chomp $line; my $val3 = (split / /, $line)[-1]; # get the last column print $OUT " $val3\n"; } }
And this is the output:
$ cat output.txt CAC40 1223. 1456.
I should add that this is not very robust code, it will probably break with any irregularity in the input data. But we would need to know more about the data (having at least three or four samples of line groups, instead of only one) to be able to do something more robust.

In reply to Re^3: Perl solution for current batch file to extract specific column text by Laurent_R
in thread Perl solution for current batch file to extract specific column text by oryan

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.