Building and Installing a CPAN Module

Problem

You want to install a module file that you downloaded from CPAN over the Net or obtained from a CD.

Solution

Type the following commands into your shell. It will build and install version 4.54 of the Some::Module package.

% gunzip Some-Module-4.54.tar.gz
% tar xf Some-Module-4.54
% cd Some-Module-4.54
% perl Makefile.PL
% make
% make test
% make install

Discussion

Like most programs on the Net, Perl modules are available in source kits stored as tar archives in GNU zip format.[18] If tar warns of "Directory checksum errors", then you downloaded the binary file in text format, mutilating it.

You’ll probably have to become a privileged user with adequate permissions to install the module in the system directories. Standard modules are installed in a directory like /usr/lib/perl5 while third-party modules are installed in /usr/lib/perl5/site_ perl.

Here’s a sample run, showing the installation of the MD5 module:

% gunzip MD5-1.7.tar.gz
% tar xf MD5-1.7.tar
% cd MD5-1.7
% perl Makefile.PL 

                  Checking if your kit is complete...
               
                  Looks good
               
                  Writing Makefile for MD5
% make

                  mkdir ./blib
               
                  mkdir ./blib/lib
               
                  cp MD5.pm ./blib/lib/MD5.pm
               
                  AutoSplitting MD5 (./blib/lib/auto/MD5)
               
                  /usr/bin/perl -I/usr/local/lib/perl5/i386 ...
               
                  ...
               
                  cp MD5.bs ./blib/arch/auto/MD5/MD5.bs
               
                  chmod 644 ./blib/arch/auto/MD5/MD5.bsmkdir ./blib/man3
               
                  Manifying ./blib/man3/MD5.3
% make test

                  PERL_DL_NONLAZY=1 /usr/bin/perl -I./blib/arch -I./blib/lib
               
                  -I/usr/local/lib/perl5/i386-freebsd/5.00404 ...

Get Perl Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.