A clear case of my overthinking the problem. Your first example does what I am needing. However I wonder if you can explain why the following occurs:
Code:Output: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
which works and is what I need,
but...
Output: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.
In reply to Re^2: symbol table vs. eval
by raflach
in thread symbol table vs. eval
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |