++haukex, on everything.
It looks like you found those functions on the internet as a way to trim whitespace from strings. I searched "Left trim function to remove leading whitespace" on Google to see where it came from, and while I saw a few pages where those functions were presented as one way to do that, none had a description of the effects of the ($) prototype. While "an extra check of the parameters" may sound like a good idea, this prototype also forces scalar context on the first (and only) argument, and turns the function into an unary operator. Since prototypes are rarely used, this means that those three functions will not behave like most other subs you'll use (at least the ones from other modules). To avoid surprises, you should remove the ($) after the names trim, ltrim and rtrim.
In reply to Re: Prototype mismatch: sub main::trim: none vs ($) at mysqlDB_serial.pl line 188.
by Eily
in thread Prototype mismatch: sub main::trim: none vs ($) at mysqlDB_serial.pl line 188.
by bNathan
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |