$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