yes but imagine the following situation
include_file.pl (this is the only file I can edit)
my $test="my_variable_name"; # I pulled this from the db. I have no
+idea what it actually is, plus I need to be able to support arbitrary
+ additions to the db anyway
my $default_value="the value I set";
$$test = $default_value;
module.pm (I can't touch this file)
use strict;
package apackage;
do "include_file.pl";
print "the value of \$my_variable_name = $my_variable_name\n"; # I can
+'t control the fact that this variable is being referred to without i
+ts package name
script.pl (this is the code that will be run. I also can't touch it)
use strict;
use module;
$my_variable_name = "A new value";
print "the value of \$my_variable_name = $my_variable_name\n"; #print
+the local value
print "the value of the package variable = $apackage::my_variable_name
+\n"; # print the package value
The question is how do I while only modifying the include file avoid failing use strict. While still allowing the module file to access the variable by name directly and the script file to access it by package.