$x = 10;
*y = *x;
$z = \$x;
{
print "\$x = $x, \$y = $y, \$\$z = $$z \n";
local $x;
print "\$x = $x, \$y = $y, \$\$z = $$z \n";
$x = 20;
print "\$x = $x, \$y = $y, \$\$z = $$z \n";
}
####
$x = 10, $y = 10, $$z = 10
$x = , $y = , $$z = 10
$x = 20, $y = 20, $$z = 10
####
$x = 10;
*y = *x;
$z = \$x;
{
print "\$x = $x, \$y = $y, \$\$z = $$z \n";
$savex = $x;
print "\$x = $x, \$y = $y, \$\$z = $$z \n";
$x = 20;
print "\$x = $x, \$y = $y, \$\$z = $$z \n";
$x = $savex;
}
####
$x = 10, $y = 10, $$z = 10
$x = 10, $y = 10, $$z = 10
$x = 20, $y = 20, $$z = 20
####
$x = 10;
*y = *x;
$z = \$x;
foreach $x (1..3) {
print "\$x = $x, \$y = $y, \$\$z = $$z \n";
}
####
$x = 1, $y = 1, $$z = 10
$x = 2, $y = 2, $$z = 10
$x = 3, $y = 3, $$z = 10