in reply to Re: Why is 'our' good?
in thread Why is 'our' good?

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 this, 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.

Incidentally here 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:

package Foo; 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 use vars 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 opinion...