in reply to Re^4: if(my) scope
in thread if(my) scope

"as above" is unclear. I think you meant "my is conditional", but it's really "my always executed" (in the scope in which it resides).
c() or my $x; # XXX Conditionally executed c() and my $x; # XXX Conditionally executed my $x if c(); # XXX Conditionally executed (same as previous) sub foo { my $x } # OK Always executed if (c()) { my $x } # OK Always executed die; my $x; # OK Always executed