depending on the real details, you may have conned perl into thinking you wanted a prototype for your sub, causing a great weeping and gnashing of teeth.
prototypes are usually reviled, and look like sub baz($$) {... real code ...}
the ($$) bit means baz will accept 2 scalar values only. If you have a 2 element array, it'll be forced into scalar context automagically (and autoevilly). If nothing's in the parens, the sub will take no arguments, no how.

here's some happy fun examples :
use strict; sub foo ($) {return shift} sub foo2 ($$) {return $_[0]+$_[1]} sub foo3 () {100} my @bax=(10,20); print join "\n",foo 20,3, foo2 10,20; print "\n"; print foo3; print "\n"; print eval (foo2 @bax,1); print "\n";
Update :
Well, I guess I shouldn't post things in the middle of the night without my thinking brain dog nearby, as this node probably makes no sense unless one already knows about prototypes. The point of the post was to say "don't put code into a prototype", but I don't think that got communicated. To learn more about prototypes, hit perlsub.

In reply to Re: Odd behaviour by perl (boo) by boo_radley
in thread Odd behaviour by perl by Popcorn Dave

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.