Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I use a new Perl module without install permissions?

Here is my situation: I know almost nothing about Perl but it is the only language available on a porting machine. I only have permissions to write in my local work area and not the Perl install location. I need to use the Parallel::ForkManager Perl module from CPAN

How do I use this Parallel::ForkManager without doing a central install? Is there an environment variable that I can set so it is located?

Thanks

JD

like image 959
Jeroen Dirks Avatar asked Oct 30 '08 20:10

Jeroen Dirks


People also ask

What is the keyword used to import a module in Perl?

A module can be loaded by calling the use function. #!/usr/bin/perl use Foo; bar( "a" ); blat( "b" );


1 Answers

From perlfaq8: How do I keep my own module/library directory?:

When you build modules, tell Perl where to install the modules.

For C-based distributions, use the INSTALL_BASE option when generating Makefiles:

perl Makefile.PL INSTALL_BASE=/mydir/perl 

You can set this in your CPAN.pm configuration so modules automatically install in your private library directory when you use the CPAN.pm shell:

% cpan cpan> o conf makepl_arg INSTALL_BASE=/mydir/perl cpan> o conf commit 

For C-based distributions, use the --install_base option:

perl Build.PL --install_base /mydir/perl 

You can configure CPAN.pm to automatically use this option too:

% cpan cpan> o conf mbuild_arg --install_base /mydir/perl cpan> o conf commit 

INSTALL_BASE tells these tools to put your modules into F. See L for details on how to run your newly installed moudles.

There is one caveat with INSTALL_BASE, though, since it acts differently than the PREFIX and LIB settings that older versions of ExtUtils::MakeMaker advocated. INSTALL_BASE does not support installing modules for multiple versions of Perl or different architectures under the same directory. You should consider if you really want that , and if you do, use the older PREFIX and LIB settings. See the ExtUtils::Makemaker documentation for more details.

like image 111
brian d foy Avatar answered Oct 05 '22 17:10

brian d foy