in reply to passing arrays to subroutines
Best way is to pass a reference to the array, then dereference it in the subroutine. Like this:
use strict; my @array = qw(a b c); mysub(\@array); sub mysub { my @array = @{$_[0]}; foreach (@array) { print $_ } }
Update: Just read Prasad's post. You can just pass the raw array to the subroutine, in which case @_ in the sub is the content of the array. I prefer to use a reference to make it very explicit that this is a single variable - not a sequence of parameters. Neither method is more correct than the other, although Prasads is simpler.
|
|---|