But is cgi-bin in your @INC array? Just because the script is in the cgi-bin directory it does not mean that this is the current directory (.) - that depends on how the web server runs. Add the directory that your modules reside in into @INC, and there are many ways to do that, try
in your code, or set the environment variable PERL5LIB. Is it a good idea to put modules into cgi-bin?