Which only begs the question why does it work when -p is placed on the shebang line of a script, as opposed to needing -e 1 when used on a command line?

For the same reason you *never* need -e if you run the program from a file - either by using the shebang line, or by doing perl program.

Perl uses the following strategy to find the program:

  1. If there are one or more -e arguments, that's where the program was found.
  2. If the command was invoked as perl [options] file, the program text is found in the file.
  3. Otherwise, the program text is found on STDIN.

You might say, what about the shebang line? The shebang line is handled by the kernel - the interpreter found on the shebang line is started, and the content of the file (including the shebang line) is passed on STDIN. (This also explains why such interpreters always use # as the start of the comment).

Abigail


In reply to Re:x2 'perl -p' ne 'cat' by Abigail-II
in thread 'perl -p' ne 'cat' by grinder

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.