I think when they are called for ( such as when you described "... I like the ability to use subs like built-ins.." ), they can be good. The reason most people that I know detest them is because it gives you false sense of security
For example, you may think that a sub foo($) would force perl to raise an error if you passed an array to it. But this produces no errors:
my @list = qw/ foo bar baz /; foo( @list );
instead, you get size of the list.
I find this to be extremely dangerous, because a lot of people expect "prototypes" to work sort of like C/C++/Java prototypes, and what's worse, it sometimes seems to work that way as well (For example, foo($a,$b) would in fact generate an error)
That's exactly why I don't like them, and almost never use them except for in esoteric cases. At the very least, I think the use should NOT be encouraged.
In reply to Re: Are prototypes evil?
by lestrrat
in thread Are prototypes evil?
by Django
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |