#!/usr/bin/perl
use strict;
use warnings;
use Data::Dump::Streamer;
sub x {
print "\@_ number of elements: ", scalar(@_),"\n";
($_[0],$_[2]) = qw(foo bar);
@_[3,4,5,6,8] = (3,4,5,6,939);
bar(@_);
}
sub bar {
print 'bar @_=(',join(',',map{"'$_'"} @_),")\n";
$_[3] = 'quux';
}
my @y;
$y[3] = undef;
x(@y);
Dump(\@y);
__END__
@_ number of elements: 4
bar @_=('foo','','bar','3','4','5','6','','939')
$ARRAY1 = [
( undef ) x 3,
'quux'
];
that you are right. Assigning to ($_[0],$_[2]) has effect to @_, but there are no aliases to something in @y.
--shmem
_($_=" "x(1<<5)."?\n".q·/)Oo. G°\ /
/\_¯/(q /
---------------------------- \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
|