It is an excellent explanation of what it actually does.
I am still going through the discussion. The best use of
it is described in
but as Tom Christiansen says,
if you want to actually be sharing stuff, then vars does
a better job. Besides which, our doesn't do a better job
of helping the programmer know which globals are special.
So yes, our @ISA = 'Exporter'; may make sense. But the
programmer is just leaving a reminder of something that
is hopefully known - @ISA is special and shouldn't be used
as an array.
someone asks about whether "our $_" has any use. Larry
didn't see one. However some of the obfuscators out there
might find it useful to combine the features of our with
the fact that some variables are supposed to
be in package main:
our $_ = "Hello\n";
print $_ for 1..5;
Of course when someone who doesn't like obfuscation starts
looking at a new feature and talking about the obfuscation
possibilities, that is not the best of signs.
So the fact that Larry doesn't like usevars and would
like to replace it is fine by me. But I don't think that
our is a better replacement. Yes, I think that he did a
good job of producing the language. But he still saw fit
to add reset, he is human and I reserve the right to my