http://www.perlmonks.org?node_id=1006060


in reply to Re^2: Global symbol requires explicit package name
in thread Global symbol requires explicit package name

Exactly! If you know you will pass a large structure to a subroutine, better pass it as a reference! Like this:

# Calling routine routine ( $v1, $v2, \@array ); sub routine { my ( $fh, $h, $keys ) = @_; ... # Dereference the array in a loop: foreach my $key ( @{$keys} ) {

Testing never proves the absence of faults, it only shows their presence.