On Wed, Aug 02, 2000 at 09:26:42AM -0600, Tom Christiansen wrote:
> I believe that under the current proposal, any unqualified and
> hitherto undeclared variables would be implicitly declared to be
> lexicals in the current scope. This is to be contrasted with the
> status quo, under which such variables are implicitly dynamics in
> the current package.
That is also my understanding.
> I am not wholly convinced this is the best of all possible ideas.
> (I am willing to hear reasoning why it is, however.)
Likewise, but I have kept quite on this subject to see how the
ideas panned out.
> For one thing, wouldn't one rather encourage *explicit* declaration?
> How is it that the conditions of "use strict" are unsatisfactory?
> This makes you say either my() or our(). Wouldn't it suffice for
> your purposes to make strict mode the default instead?
I think so. I would like to see a level of strictness by default
similar to what use strict does now. With the ability to add
new strictness in future in the same way we add strictness now.
> If you make lexical autodeclaration the default, it seems to me
> that one could look at this as implicitly saying that Perl is to
> be made less suitable for fast and convenient solution. Perl has
> always been the king of convenience. I recognize that this hurts
> in some circles because of scalability concerns. The argument could
> easily be made that favoring scalability will help this. But the
> cost to small-scale program(mer)?s must be weighed in the balance.
Assuming that declaration overrides, I see this as just another way to
force people to declare all variables. That is by the means of it's
almost useless unless you do.
Graham.