Simply put, they change the parsing rules (e.g. the evaluation context of the arguments). Did you mean to change the parsing rules? No, you probably wanted some form of argument validation. Therefore, you shouldn't be using prototypes.
Besides, you were placing them on methods where they are totally ignored (to the point that you were using the wrong one and you didn't notice).
In reply to Re^3: Using s/// Inline
by ikegami
in thread Using s/// Inline
by Jason Hutchinson
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |