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...
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.