Hi,
[EMAIL PROTECTED] wrote:
> How do I pass a null variable as an argument? Sometime I may want a
> wrapper sub as below:
>
> Example,
> ...
> sub procName
> { my $fname = $_[0];
> my $lname = $_[1]];
> }
Alternatively, you could write either
my $fname = shift;
my $lname = shift;
or even
my( $fname, $lname ) = @_;
>
> my procByLastName{ mySubA(null, "doe"); }
> ...
>
> This is the error message:
> Bareword "null" not allowed while "strict subs" in use
Perl's notion of NULL would be undef, i.e. not defined.
As such, it's distinct from an empty string or zero as
a numeric value.
The function defined() helps you to test wether a value
is undef or not.
BTW, since you ask about argument passing and undef,
a nice way to handle setting defaults for arguments
is using this syntax:
my $var = shift || "default";
Works great if your expected arguments are always
defined and true. It would set $var to "default"
if you pass in an empty string or the number 0,
though.
HTH,
Thomas
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]