Funny this should come up—I was just thinking about the first time I ever used Perl, and contemplated writing a Meditation on it.

My first Perl program ever was very much your simple way to count lines. Perhaps I didn't even know about $. and incremented a counter in the body of the loop.

The interesting part is: I never got a result. It ran so slowly on my PC (a 16 MHz 80386SX I beleive) that I killed it when it was taking too long to finish.

I was disapointed that it ran so slowly and was not useful. But, when Perl was young and AWK was all the rage, didn't all computers have speeds in that order of magnitude? Perhaps the disk IO was eating it alive due to a poor or immature 32-bit environment that had to trap to real-mode DOS on every file-read call.

So... when Perl was young and the FAQ was being written, perhaps the buffer-at-a-time approach was significantly better performing. The logic of <FILE> to read up to the next newline might have been primitive in the early days, and changed when memory became cheap and buffers were no big deal.

—John


In reply to Re: How To Count Lines In File? by John M. Dlugosz
in thread How To Count Lines In File? by Cody Pendant

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.