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.
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.