l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
October 7: Social gathering
Next Installfest:
TBD
Latest News:
Aug. 18: Discounts to "Velocity" in NY; come to tonight's "Photography" talk
Page last updated:
2010 Dec 01 11:15

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] subroutine arguments with PERL
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] subroutine arguments with PERL



>>>>> On Tue, 30 Nov 2010 11:53:51 -0800, Matthew Van Gundy <matt-lugod@shekinahstudios.com> said:

MVG> If you put parenthesis after the subroutine name, you are telling Perl 
MVG> to check the type and number of arguments.  E.g. sub noargs() { }, sub 
MVG> onescalar($) { }, etc.

And it happens at, um, "compile time" too (perl is somewhere between
interpreted and compiled IMHO).

  sub foo($$$$$) {
     my ($stat_ref, $record_number, $prev_line, $line, $line_number) = @_;
     # do stuff
  }

  print "hi\n";
  foo('one');

outputs:
  Not enough arguments for main::foo at foo.pl line 7, near "'one')"
  Execution of foo.pl aborted due to compilation errors.

Note that "hi" isn't in the output because the syntax mistake is caught
before it's run.  Unlike if you leave out the $s and check the arguments
within the function itself.
-- 
Wes Hardaker                                     
My Pictures:  http://capturedonearth.com/
My Thoughts:  http://pontifications.hardakers.net/
_______________________________________________
vox-tech mailing list
vox-tech@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox-tech



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
O'Reilly and Associates
For numerous book donations.