perl.HOWTO This is the script that should be run on Makefile.PL it will achieve that you don't requires access to perl install dir it will place it in your $HOME/lib and $HOME/man cpanmaker shell script #!/bin/sh what="Makefile.PL" if [ "${1}" != "" ];then what=$1 fi perl $what INSTALLDIRS=site \ INSTALLSITELIB=$HOME/lib/perl \ INSTALLSITEARCH=$HOME/lib/perl/arch \ INSTALLARCHLIB=$HOME/lib/perl/ \ INSTALLMAN1DIR=$HOME/man/man1 \ INSTALLMAN3DIR=$HOME/man/man3 So than it goes cpanmaker make make install special cases Postgres Module Makefile.PL customized for RedHat use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( 'NAME' => 'Postgres', 'VERSION_FROM' => 'Postgres.pm', # finds $VERSION 'LIBS' => ['-L/var/lib/pgsql -lpq'], 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING' 'INC' => '-I/usr/include/pgsql', 'MYEXTLIB' => ' /usr/lib/libpq.so.1', dist => { SUFFIX => 'gz', COMPRESS => 'gzip -9', }, ); Modules uninstall go to dir where is file .packlist in my case cd /usr/lib/perl5/site_perl/5.005/i386-linux/auto/DBD/Empress create such file call it uninstall.pl #!/usr/bin/perl -w use ExtUtils::Install; uninstall("./.packlist",1); then type ./uninstall.pl and that is it or perl -MExtUtils::Install -e 'uninstall (".packlist",1);' it is also good to clean perlocal.pod file in my case cd /usr/lib/perl5/5.00503/i386-linux vi perllocal.pod and delete the shit You can always see what you have installed so far with this perldoc perllocal.pod