Are you saying that those lines of "######" are actually in the text files? If so, then the previous reply about setting the special "$/" variable will help you a lot. Or, if the actual text files use some other consistent pattern as the separator between 3-line records like the one you showed, just set $/ to that other pattern (look at the perlvar manual for more information about $/).

If the files are just sequences of 3-line records with nothing else separating the sets, you'll need something like:

my %record; my ( $id, $field ); while (<>) { chomp; if ( /^RECORD:\s+(\d+)/ ) { $id = $1; elsif ( /Field:\s/ ) { $field = $_; elsif ( /MSG#\s ) { $record{$id}{field} = $field; $record{$id}{msg} = $_; } } # now go through the %record set, output to csv...

As for putting stuff into a csv file, Text::CSV will be a big help, and as indicated above, you can install your own copy of the module in your home directory. But maybe your unix system already has it -- try "perldoc Text::CSV" as a shell command, to see if the module there.

(And most unix systems that support multiple users have at least one "sysadmin" person, who will often accept reasonable requests for installing non-core perl modules from CPAN. You do know how to contact your sysadmin, right?)


In reply to Re: Read files and convert extracted text to .csvc by graff
in thread Read files and convert extracted text to .csvc by kirkbrown

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.