my @colors=qw(red blue green yellow orange purple violet); print "----- our \$x; for \$x ...; after for block ---------\n"; our $x; foreach $x (@colors) { no strict 'refs'; my $name=$x; *{$x.'_0'}=sub { $x="$x|$x"; print "doubling \$x: <$x>\n"; }; } print "setting \$x to 'x'\n"; $x="x"; red_0(); { local $x="X"; print "localized \$x to 'X'\n"; red_0(); print "leaving localization block\n"; } red_0();