http://www.perlmonks.org?node_id=1001553


in reply to Forcing array context on a file handle

If there's any chance that the file can be of any real size at all, and you only want the line count, you'd be much better off using:

my $lines; ++$lines while <$file>;

Building a potentially huge list only to throw it away, just to count the lines, will be very costly in terms of time and memory.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

RIP Neil Armstrong

Replies are listed 'Best First'.
Re^2: Forcing array context on a file handle
by choroba (Cardinal) on Oct 31, 2012 at 01:31 UTC
    Or even
    1 while <$file>; print $.;
    لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

      Indeed. But that's idiomatic, so lisp programmers probably won't understand it and PerlCritic would probably have an apoplectic hissy fit.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

      RIP Neil Armstrong