Hello,

I have an array and I would like to pass it to a subroutine:

&printlist([EMAIL PROTECTED]);


sub printlist
{
        my $array_ref = (shift);
        my $max;
        my $maxnew = @{$array_ref};
        for(my $i=0;$i < $maxnew; $i++){
                print "\t\t\t\t\t";

                if ( ($maxnew - $i) >= 10 ) {
                        $max = 10;
                } else {
                        $max = $maxnew - $i;
                }

                        for(my $n=0; $n <= $max; $n++) {
                                print "${$array_ref}[$i]\t";
                                $n++;
                                $i++;
                        }
                print "\n";
        }
       
}


I know the above works I just want to make sure I understand why, 

I am passing the reference of an to the subroutine, which using (shift)
assigns the first scaler to my scaler array_ref. So now array_ref scaler
is equal to the passed scaler allowing me to use array_ref as a
reference. 

Correct ?

Michael



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to