This will make @myarray = undef.
I suspect this is just a case of casual, imprecise language, but you are likely to mislead people with that particular phrasing:
my @myarray = undef;
print "\@myarray contains ", 0+@myarray, " elements.\n";
__END__
Produces:
@myarray contains 1 elements.
Because
@myarray = undef;
is the same as
@myarray = ( undef );
which isn't at all the same as
undef @myarray;
undef is a function that undefines what is passed to it and then returns a not-
defined()
scalar value.
-
tye