O'Reilly logo

Perl Cookbook by Nathan Torkington, Tom Christiansen

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required