Rob:
Thanks for all of your help. I hope to help others as soon as I get the
swing of perl more.
-Scott
On Wed, 2 Jan 2002, Hanson, Robert wrote:
> "Should I put a while in front of the line processing?"
>
> Yup.
>
> while ( my $record = <QUOTEP> ) {
> ...
> }
> close (NEWQUOTES);
> close (QUOTEP);
>
> Rob
>
>
> -----Original Message-----
> From: Scott [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, January 02, 2002 2:50 PM
> To: Hanson, Robert
> Cc: [EMAIL PROTECTED]
> Subject: RE: Parsing large text files
>
>
> Ok, I think I have it opening the file correctly, now I want to create a
> loop to process every record in the file. With the code below it does one
> line and stops. Should I put a while in front of the line processing?
>
> Thanks,
>
>
>
>
> open(QUOTEP,"$qivQuoteFile");
> open(NEWQUOTES, ">newtest5.txt");
> my $record = <QUOTEP>;
> # split by tabs
> my @fields = split( /\t/, $record );
> for (my $i = 0; $i < @fields; $i++ ) {
> # add 255 spaces to the field
> $fields[$i] .= " " x 255;
> # removes from 255th char forward
> $fields[$i] = substr($fields[$i],0,255);
> }
> # only include fields #0 and #2 (change to your needs)
> #@fields = @fields[0,1,2,3,4,5,6,7,8,9,10];
> print NEWQUOTES "00";
> print NEWQUOTES "IN201";
> printf NEWQUOTES ("%04d%02d%02d", $year+1900, $month+1, $day);
> printf NEWQUOTES ("%02d%02d%02d", $hour,$minutes,$seconds);
> print NEWQUOTES "@fields[01]\n";
>
> print NEWQUOTES "01";
> print NEWQUOTES "QTE";
>
> #print NEWQUOTES join(',', @fields);
> close (NEWQUOTES);
> close (QUOTEP);
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> On Wed, 2 Jan 2002, Hanson, Robert wrote:
> > Do you mean do I recommend slurping the entire file into an array, and
> then
> > process each array element (ie. line)? If the file is large (1Meg+) you
> > probably don't want to do that.
>
>
--
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]