in reply to Installing Module from source....
Here is the quick and dirty "how to install CPAN modules" :
- if your OS is windows and you're running ActiveState Perl, go to step 6.
- if your OS is linux, first check there isn't a package for your distribution with the appropriate module. For instance, it's part of the basic Debian "perl" package.
- if your OS is Linux/FreeBSD/MacOS X/Solaris/(put here your favorite Unix flavour) type the "cpan" command from a root shell.
- Follow the on screen instructions for configuration. Choose a mirror close to you.
- When setup is completed, type the command (at the "cpan>" prompt): inst GDBM_File It should install the module in some appropriate place.
- For ActiveState Perl, use the "ppm" command instead of "cpan". Proceed to step 4.
If you'd rather use a downloaded file and configure everything by hand:
- download the package from CPAN (should be a tar.gz file)
- unpack it (tar xzf module.tar.gz)
- enter the module directory created and follow the instructions from the INSTALL file.
- should be something such as perl Makefile.PL ; make ; make test ; make install
When done, get sure the installed module is in the search path for perl ( @INC variable). For instance you currently have your GDBM_File.pm in /usr/src/contrib/perl5/ext/GDBM_File/ folder, which is NOT in the @INC :
Can't locate GDBM_File.pm in @INC (@INC contains: /usr/local/lib/perl5/site_perl/5.8.6/mach /usr/local/lib/perl5/site_perl/5.8.6 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.6/BSDPAN /usr/local/lib/perl5/5.8.6/mach /usr/local/lib/perl5/5.8.6 .)
If for some reason you'd like to keep the module in some unusual place (for instance because you modified it), then you should add the directory where your module is to the @INC in each script using it. Add this at the beginning of your script (before the "use somemodule" statement):
use lib '/path/to/some/directory/';
see a more detailed explanation at http://www.cpan.org/modules/INSTALL.html if necessary.
Update: Apparently you're running FreeBSD, don't you? For some reason the module appears under /usr/src, maybe that means it still need to be compiled before use. Go the the directory, see if there's a "Makefile.PL" file lying there. If it's there, you'll probably need to compile/install the module before use (see above). If there isn't any Makefile, then the module is probably usable "as is", just add the directory to @INC in your script.