in reply to Simple question about namespaces

Probably the easiest way is to shift all those sub routines back into the main script and have the required variables declared at the base script level (rather than within any sub-routines). ie:

use strict; my $var1 = 'foo'; my $var2 = 'bar'; subRoutineA(); sub subRoutineA { print "\$var1: $var1\n\$var2: $var2\n"; }

Alternatively, you could look into re-writing your scripts in an OO fashion and simply assign the required variables to the objects that you want to run the sub routines for

Replies are listed 'Best First'.
Re^2: Simple question about namespaces
by woland99 (Beadle) on Feb 27, 2014 at 16:35 UTC
    I do agree with you about OO approach. Maybe at some point I will rewrite those scripts. But I cannot split SUBS.pl - it is being used by 20 other scripts and it would be maintenance nuisance to have to adjust those subroutines in 20 different places. For now I defined a subroutine in SUBS.pl specifically for setting variables in that file - and I call it in A.pl with command line options - not the prettiest solution but works.