Possible scenario: you wrote an ancient script using the CGI.pm module by Lincoln Stein, and it ran fine on your old RedHat 6.2 box with Perl 5.00503 and an ancient version of CGI.pm. However, after reinstalling your script on a newer box with Perl 5.6, or else after upgrading your perl and/or CGI.pm, your script is broken and says
Undefined subroutine CGI::dump
Answer: in version 2.50 of CGI.pm, CGI::dump was changed to CGI::Dump. Try:
perl -pi -e 's/CGI::dump/CGI::Dump/' yourscript.pl