use strict; use warnings; my $y=666 if 1; warn $y; my $x=1; my $x=42 for 1; warn $x; #### "my" variable $x masks earlier declaration in same scope at c:/tmp/pm/scope_postfix_for.pl line 12. 666 at c:/tmp/pm/scope_postfix_for.pl line 7. Use of uninitialized value $x in warn at c:/tmp/pm/scope_postfix_for.pl line 16. Warning: something's wrong at c:/tmp/pm/scope_postfix_for.pl line 16.