# 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"'