package apackage;
my $test="my_variable_name";
my $default_value="the value I set";
$$test = $default_value;
print "the value of \$my_variable_name = $my_variable_name\n";
package main;
$my_variable_name = "A new value";
print "the value of \$my_variable_name = $my_variable_name\n";
print "the value of the package variable = $apackage::my_variable_name\n";
####
the value of $my_variable_name = the value I set
the value of $my_variable_name = A new value
the value of the package variable = the value I set
####
package apackage;
my $test="my_variable_name";
my $default_value="the value I set";
our $$test = $default_value;
print "the value of \$my_variable_name = $my_variable_name\n";
package main;
$my_variable_name = "A new value";
print "the value of \$my_variable_name = $my_variable_name\n";
print "the value of the package variable = $apackage::my_variable_name\n";
####
Can't declare scalar dereference in our at -e line 5, near "$test ="
Execution of -e aborted due to compilation errors.