how does "shift" work? In other words what if I do this
&Somefunction($var1, \@arry)
sub SomeFunction {
my $var = $_[0]
my $array = shift;
foreach(@{$array}) {
print "$_\n";
}
}
How does the shift operator know which is which? I called it specifically
earlier, because of this. What am I missing?
Thanks so much
On Tuesday 12 February 2002 10:06 am, Brett W. McCoy wrote:
> On Tue, 12 Feb 2002, Steven M. Klass wrote:
> > Let's start off with some simple code..
> >
> > my $arg = &SomeFunction ( my @arry = qw/one two three/)
> >
> >
> >
> > sub SomeFunction {
> > my @array = @_[0];
>
> No, you are only grabbing the first element of @_. You should either pass
> the array as a reference (best way), or just grab up the entire @_.
> Keep in mind that if you pass an array and any scalars as arguments, they
> will all be flattened out into @_, as a single list. This is why passing
> a reference is better, to differentiate lists and scalars.
>
> SomeFunction([qw(one two three)]);
>
> sub SomeFunction {
> my $array = shift;
> foreach(@{$array}) {
> print "$_\n";
> }
> }
>
> -- Brett
> http://www.chapelperilous.net/
> ------------------------------------------------------------------------
> Removing the straw that broke the camel's back does not necessarily
> allow the camel to walk again.
--
Steven M. Klass
Physical Design Manager
National Semiconductor Corp
7400 W. Detroit Street
Suite 170
Chandler AZ 85226
Ph:480-753-2503
Fax:480-705-6407
[EMAIL PROTECTED]
http://www.nsc.com
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]