It [Perl] fails to account for a need for the special rules type functions and marking them as distinct.
From perltoot:
Perl doesn't impose restrictions on who gets to use which methods. The public-versus-private distinction is by convention, not syntax. /.../ Occasionally you'll see method names beginning or ending with an underscore or two. This marking is a convention indicating that the methods are private to that class alone and sometimes to its closest acquaintances, its immediate subclasses. But this distinction is not enforced by Perl itself. It's up to the programmer to behave.
It's at least mentioned in the documentation. I guess some people skip perltoot though and dig right into perlobj. Perhaps this should be mentioned in perlobj too?
You again:
I might be weird, but if a sub is going to change interface then it should be documented accordingly.
But underscored methods are usually not documented and thusly isn't in the interface. They're just internal implementation.
Simply expecting me or any other programmer to interpret "private" in the same way that you do is unreasonable in a language like perl
I think it's fair to expect that undocumented methods aren't public.
...where there is no concept of privacy (er caveats of course :-)
By using a function call instead of a method call he does enforce some privacy. He disables you from overriding the routine.
Anyway, I really wish you would unmask yourself, itd be easier to carry on this conversation...
I doubt you'd recognize me.
I suppose you have your reasons however. :-)
Yes, I haven't registered. :)
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.