The problem with his while( (<>) && $counter < 10 ) {... (besides the fact that he's missing a sigil) is apparent when you turn on warnings and look at the output. Once you add the logical short circuit, the magic while(<>) is lost, and you end up with a plain old boolean evaluation of the <> operator. That results in two problems.

First, $_ doesn't receive the current line of the file without explicitly assigning it. Try it with warnings and you'll see "Uninitialized value....." warnings for each line. Second, as the warnings also state, "Value of handle construct can be "0", test with defined()."


Dave


In reply to Re^2: peeling the top 10 lines from a file by davido
in thread peeling the top 10 lines from a file by jjohhn

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.