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.