On Thu, 7 Feb 2002, Brian Hayes wrote:

> It appears the problem was using the foreach statement instead of while.
> I have not tested this extensively, but using foreach the whole text
> file (or output of pipe) is read into memory before continuing, but
> using while (and probably for) each line is processed as it is read.

Yes indeed it does, because foreach operates on a list, where as while
operates on a boolean value returned from an expression (which means
scalar context).  So if you do

foreach(<FILE>) { }

It will put <FILE> into the list context and slurp the entire thing up
into a list.  'for' will do the same thing.  It also operates on a list
(foreach and for are aliases for each other).

-- Brett
                                          http://www.chapelperilous.net/
------------------------------------------------------------------------
As you grow older, you will still do foolish things, but you will do them
with much more enthusiasm.
                -- The Cowboy


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

Reply via email to