Please don't apologize for criticizing my opinion. There is no need - I have been on the receiving end of far worse!

As to the message, it clearly does confuse a lot of people, why I don't know for sure. (The fact that there clearly is confusion means that there probably was a better way to word the error. Care to offer one?) Certainly I read it, and re-read it, and fail to see how it could mean anything other than what was intended. When I see the word "reserved" I don't think that means that it is in current use. Certainly that is not how it is used in daily life.

When I reserve a plane ticket, I don't expect to immediately have a plane ride. Ditto when I reserve a hotel. And I frequently see parking lots with empty reserved spaces. So why when you see that Perl thinks that a word is reserved would you assume that it is actually in use?

As for your claim that the messages mean opposite things, I respectfully and strongly do not agree. Both messages say that you are using a construct in a way that is now discouraged to make room for future changes. It is true that the actual change is different. One catches the keyword coming, one going. But in either case you are being warned that what used to work will work for now, but may break in any future release, so you should remove it from your code. Before it becomes a bug.

As for the cause of the mistaken use of our, that is both interesting and yet another reason for learning to rely on your internal documentation rather than any source that may not match what you have installed. For instance if you use Camel 2 as a reference, that documents 5.003. (BTW it looks like the documentation on this site is also 5.003.) Camel 3 documents 5.6. Now in the new edition you will find both qr// and our. In the old you find neither. What will you find in 5.005? Well "perldoc -f qr" and "perldoc -f our" shows you that qr// exists and our does not.

Get in the habit of consulting the installed documentation and you won't even try to use features that you saw being advertised because they showed up in a newer version than you actually have! :-)

EDIT
I wrote the above while tye was actually searching past archives of p5p for the actual discussions which produced the message in question. He turned up something different than I would have expected (it was my turn to assume I think:-), and I quite agree with his conclusion that the choice of "reserved" originally did mean "reserved for future use", accidentally became confusing, and there is a far better message that could have been used.

I will let him post that though. :-)


In reply to RE (7): Should I use $ and $# ? by tilly
in thread Should I use $ and $# ? by Guildenstern

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.