On Jan 3, Booher Timothy B 1stLt AFRL/MNAC said:

>Why can't I do something like this? Load everything to a buffer then cycle
>through the buffer?

Why would you want to?  That requires you to store the ENTIRE file in
memory!

>#!/usr/bin/perl -w
>open(MYFILE,'test2.txt');
>while (<MYFILE>) {
>    $buffer .= $_;
>}
>$lnum = 1;
>
>while ($buffer) {
>    chomp;
>    next if /^\*+/ or /^\s*$/;
>    my ($field, $value) = split /\s*:\s+/;

Those are all acting on $_, not $buffer.  And what you'd need to do is
REMOVE stuff from $buffer.

>    $field =~ s/^\s+//;  # remove leading spaces from $field
>    $value =~ s/\s+$//;  # remove trailing spaces from $value
>    print qq{$lnum: "$field","$value"\n};
>    $lnum++;
>};

Just loop over the file's contents.  Using a buffer like this is a bad
idea.

-- 
Jeff "japhy" Pinyan      [EMAIL PROTECTED]      http://www.pobox.com/~japhy/
RPI Acacia brother #734   http://www.perlmonks.org/   http://www.cpan.org/
** Look for "Regular Expressions in Perl" published by Manning, in 2002 **
<stu> what does y/// stand for?  <tenderpuss> why, yansliterate of course.


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to