in reply to Globals with Strict

there are several ways to solve this. You can mark some variables as our.
our $var = whatever;
That will make it global and comply with strict. Or you can setup your functions to take in parameters
my $var1 =5; &func1($var1); ........somewhere else in code your func dec sub func1 { #this will grab the variable $var1 you passed in my $private_var = shift; }