Hey all, I am new to perl and am writing a text parser to wittle a large text file down and extract peices I need to an output file. I have code written that extracts the part I need but it is also extracting everything else in the file. It also seems to be running through the file a few times as information is repeated in my output file. Here is my code:

use strict; use warnings; open TEST, "tests.txt" or die $!; open OUTPUT, "> output1.txt" or die$!; my @file = grep/SUBSCRIBER/../NATIONAL/, <TEST>; my $line; foreach $line(@file) { if ($line=~m/A1/) { print OUTPUT @file; } } close TEST; close OUTPUT;

I want the output file to just have the text located between SUBSCRIBER and NATIONAL if there is an A1 code on one of the lines.

Thanks!


In reply to Text Extraction by JonDepp

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.