Hi bNathan,
The code you've shown (please use <code> tags!) is not enough to reproduce the error you describe. See SSCCE and How do I post a question effectively?
Tip #1 from the Basic debugging checklist: use strict; use warnings; use diagnostics;. This would have told you (emphasis mine):
The subroutine being declared or defined had previously been declared or defined with a different function prototype.
I can reproduce the error you describe via:
$ perl -e 'sub trim {} sub trim($) {}'
Prototype mismatch: sub main::trim: none vs ($) at -e line 1.
Which tells me that you've probably got two sub trims in your code (Update: or, as choroba noted in the reply, one of them could be coming from a module). You'll need to track down this duplicate definition and resolve it somehow, probably by removing or renaming one of the subs.
I'm guessing that you may not have warnings turned on (Use strict and warnings!), because otherwise you'd have been warned more explicitly:
$ perl -we 'sub trim {} sub trim($) {}'
Prototype mismatch: sub main::trim: none vs ($) at -e line 1.
Subroutine trim redefined at -e line 1.
Hope this helps, -- Hauke D |