in reply to nested variable resolution

Just use a (generally considered evil) string eval in both cases:

... print '$z is: ', $z, "\n"; print 'eval of $z is: ', eval $z, "\n"; print 'eval of "2 * 3" is: ', eval '2 * 3', "\n";

Prints:

$z is: 2 * 3 eval of $z is: 6 eval of "2 * 3" is: 6

DWIM is Perl's answer to Gödel