It's because of the error right here:

printf "\nabove first set of dashes#: [" . #@foo . "]\n"; # The error is -------------------here------^^

So, what's happening? By typing #@ when you meant to type $# you initiated a comment. So "@foo . "\n"; was no longer code, but rather, a comment. That made the line in question look like this:

printf "\nabove first set of dashes#: [" . printf "first set of dashes------------\n";

Notice how you're using the concatenation operator, "." to append the output from "printf  "first set of dashes------------\n";" to the string "\nabove first set of dashes#:  [". Before that concatenation can occur, that second printf has to be evaluated to obtain its return value (which is "1"). And in so doing, its side effect (in the functional sense) is taking place: It's printing the "first set of dashes....." line.


Dave


In reply to Re: Order of printf statements vs order of actual lines printed out by davido
in thread Order of printf statements vs order of actual lines printed out by sg

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.