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
|