On Tue, Sep 19, 2000 at 06:39:49PM -0700, Nathan Wiger wrote:
> > The presence of a method STORE is visible outside of the module, and
> > may be &required* if the module follows some published (non-Perl) API.
> > Variables are of different ilk.
>
> I think you're overlooking they can both be equally visible:
>
> $Foo::DEBUG = 1;
> Foo::STORE(5);
>
> depending on how you call them.
As I said, special ALLCAPS variables cannot get in the way here. Or
did I misunderstand what you wanted to say?
> > So you can have module variables with any names - @ARGV does not get
> > in the way of APIs.
>
> That's not really true. Try changing @ISA or @EXPORT_OK. Lots of stuff
> changes. And other variables like $_ do get pushed onto you
> involuntarily.
$_ is not ALLCAPS. @EXPORT_OK should die (see RFC 233). @ISA is on
its way to its grave already, see C<use base>.
Ilya