Error: Bareword "params" not allowed while "strict subs"

I'll-Be-Back picture I'll-Be-Back · Nov 22, 2012 · Viewed 22.3k times · Source

After clicking on a submit button, I am getting an error:

Bareword "params" not allowed while "strict subs" in use at /var/www/path/get.pl line 71

Line 71:

my @names = params;

I do have use strict; nearly at the top.

How to fix?

Note: It work on the old server, I am moving all the files to a new server. Not sure where it went wrong?

Answer

DVK picture DVK · Nov 22, 2012

params is most likely a name of a subroutine that was supposed to be imported from another module (based on style, possibly a constant which in Perl is implemented as a subroutine as well).

Search the rest of your code for both sub params and simply my.*params regexes on the old server, and make sure whichever file declares them is present on the new one..