The following code will return an error,
$ perl -E'sub foo { my $bar if 0; $bar++ }'
This use of my() in false conditional is no longer allowed at -e line 1.
But this code
$ perl -E'sub foo { my $bar = undef if 0; $bar++ }'
Does not return an error. Is there any difference between these two forms?