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]

Reply via email to