> No special UPPERCASE_NAME subroutines
Whoa! What about ALLCAPS variables? Should we axe all of them as well?
They're the exact same idea.
> If some special action handler needs to be registered, this should be
> done not by using a special name, but by a pragma.
>
> use tie STORE => sub { ... };
>
> not
>
> sub STORE { ... }
Then how would Perl differentiate between your proposed types here:
$obj = tie '@array', 'Tie::Array';
$obj->STORE(1,2);
When I call them directly? Is this the sub STORE or the handler STORE?
Are you proposing a new method namespace? What about object-based
polymorphic overloading? What about DESTROY, BUILD, TIESCALAR, etc, etc?
And really, who writes normal routines in ALLCAPS? I never have. There's
plenty of ways for you to get the same effect in your program already:
sub store {}
sub _store {}
sub Store { }
sub _STORE { }
-Nate