> Moreover, push mutates its first operand and it would really be a bad idea to change data and at the same time hide from the developer how the data is being changed.

Well for me, calling push with only one parameter is quite obvious. At least not less than print without parameter.

Please, in which chapter did you find that quote in the camel book?

Cheers Rolf

UPDATE: here what I found in 2.9.3 Global Special Variables
Here are the places where Perl will assume $_ even if you don't use it:

    *      Various unary functions, including functions like ord and int, 
 as well as all the file tests (-f, -d) except for -t, which defaults to STDIN.
    *      Various list functions like print and unlink.
    *      The pattern-matching operations m//, s///, and tr/// when used 
 without an =~ operator.
    *      The default iterator variable in a foreach loop if no other variable
 is supplied.
    *      The implicit iterator variable in the grep and map functions.
    *      The default place to put an input record when a <FH> operation's
 result is tested by itself as the sole criterion of a while test. Note that
 outside of a while test, this will not happen. 

Mnemonic: underline is the underlying operand in certain operations.

Well various doesn't sound very specific, and print and unlink are not unary.


In reply to Re^2: why does push not default to $_? by LanX
in thread why does push not default to $_? by LanX

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.