# strategy 1 my $var; # other stuff sub mysub { # do stuff -- don't declare my $var here, though. It will mask the one you want to set. $var = "whatever"; # sets $var declared above to "whatever" } #### # option 2 my $var = mysub(); sub mysub { # do stuff $var = "whatever"; return $var; # return is optional here, but makes what's going on explicit. } #### perl -e 'print "How sweet does a rose smell? "; chomp ($n = ); $rose = "smells sweet to degree $n"; *other_name = *rose; print "$other_name\n"'