With the example you have given,
i say point A, because if you declare your array
at point B, you will re-declare it as many times as you
call mySub(). Also, consider passing @bigarray to mySub()
as a reference. Just be sure to declare mySub() before
@bigarray, otherwise @bigarray is accessible by
mySub():
use strict;
sub mySub {
my $ref = shift;
for (@$ref) {
#do stuff with array
}
}
my @bigarray = ("insert", "a very", "long list here");
my $thing1 = mySub(\@bigarray);
my $thing2 = mySub(\@bigarray);
If the array in question is only pertinent to the
subroutine, and either that sub will only be called once
or the array will change with each sub call, then declare
the array inside the subroutine.
jeffa
L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)