So if Perl prototypes are so critically borked, and this was known in 1999 when Tom C wrote the article, why does my 5.8 perlsub documentation from 2002 imply they are a good thing?
Where does persub imply they are a good thing for general use? It seems pretty unbiased to me. It tells what they do and what they are good for. It goes so far as to tell the primary purpose for them:
. . . the intent of this feature is primarily to let you define subroutines that work like built-in functions . . .
I agree that the docs could be better in pointing out the hazards, but I don't think they are endorsing general use either.
Besides, I wouldn't go as far as to say they are "borked." They just aren't "prototypes" in the sense that people with experience in other languages generally think of prototypes. That's where the breakdown really occurs because, in other languages, prototypes aren't just good; they are often required. In Perl, what we call "prototyping" is a useful language feature and necessary for things like making inlinable constant subs (rare), subs that act like builtins (rarer), and creating new syntax (rarest.) The downside is that the feature was poorly named and, as a result, people end up slapping them on every sub they write.
-sauoq "My two cents aren't worth a dime.";
In reply to Re: Re: Re: Re: Re: passing subroutine args as a hash: why not?
by sauoq
in thread passing subroutine args as a hash: why not?
by Willard B. Trophy
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |