Melvin Smith writes:
: At 03:16 PM 1/21/2002 -0500, Tzadik Vanderhoof wrote:
: >It's not the condition you would want to check, it's the variable (e.g.
: >$line).
:
: Right, I gotcha. I guess I would rather see it cater to the typical use,
: not the atypical. Of course my opinion of typical might differ from yours.
:
: I do feel this will be another point of confusion for newcomers to the
: language.
It's confusing if there are different rules for compound statements
than for simple statements. And what about user defined statements of
indeterminate compoundhood?
mumble my $x = <$in> { process($x) };
How is the user to know whether that C<my> is limited to the block?
The proposed rule is very simple, and consistent with the way things
have always worked with simple statements: "All C<my> variables live
on past the innermost statement in which they were declared, to the end
of the current statement sequence. Period."
I sincerely doubt I'm going to change my mind on this one. The dwim
arguments are inconclusive, so the simplicity argument wins.
Larry