On Fri, Aug 31, 2001 at 02:21:56PM -0400, Matt Fuerst wrote:
> I am opening a file witht he following command:
> 
> open (LOGFILE, "100.txt");

Where is your "|| die(...)"?

 
> $oneline = <LOGFILE>;
> while ( $oneline =~ /(-{3,})/ )
> {
>         # process one line
>         $oneline = <LOGFILE>;
> }

<LOGFILE> will evaluate to undef when the end of the file is reached.

The typical idiom for this is:

    while ($onefile = <LOGFILE>) {
        last unless $oneline =~ /(-{3,})/;
        # process $oneline
    }

This will guarantee $onefile is always defined, and will appropriately exit
out of the loop -upon- EOF, rather than try to handle the undef and then
exit.

 
> Which is not working... I get an error of use of uninitialized value at line
> 28,

It is working.  "Use of uninitialized value" is a warning, not a fatal
error.  undef doesn't match /-{3,}/.  The code is working, perl is just
complaining because your use of undef there may be incorrect.


Michael
--
Administrator                      www.shoebox.net
Programmer, System Administrator   www.gallanttech.com
--

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

Reply via email to