Perl Modules: Difference between revisions
Jump to navigation
Jump to search
(I originally created this page and things have changed slightly...) |
m (→Getting To The CPAN Prompt: REMOVED perl MCPAN and ADDED cpan) |
||
Line 3: | Line 3: | ||
To administer your Perl modules you must use the CPAN prompt. To get to the CPAN prompt, <b>as root</b> type: | To administer your Perl modules you must use the CPAN prompt. To get to the CPAN prompt, <b>as root</b> type: | ||
::<code> | ::<code>cpan</code> | ||
If this is the first time that you have entered the CPAN shell, you will be asked some set-up questions that will allow the shell to access CPAN's servers to get modules. Just read the questions and answer them. | If this is the first time that you have entered the CPAN shell, you will be asked some set-up questions that will allow the shell to access CPAN's servers to get modules. Just read the questions and answer them. | ||
Line 10: | Line 10: | ||
::<code>o conf init</code> | ::<code>o conf init</code> | ||
==Listing The Installed Modules== | ==Listing The Installed Modules== |
Revision as of 19:43, 29 August 2012
Getting To The CPAN Prompt
To administer your Perl modules you must use the CPAN prompt. To get to the CPAN prompt, as root type:
cpan
If this is the first time that you have entered the CPAN shell, you will be asked some set-up questions that will allow the shell to access CPAN's servers to get modules. Just read the questions and answer them.
If you ever need to re-run the set-up again, enter the CPAN shell and then type:
o conf init
Listing The Installed Modules
Easy way
instmodsh l (L)
Hard way
use this Perl program:
#!/usr/bin/perl use ExtUtils::Installed; my $instmod = ExtUtils::Installed->new(); foreach my $module ($instmod->modules()) { my $version = $instmod->version($module) || "???"; print "$module -- $version\n"; }
Installing New Modules
From the CPAN shell prompt, type:
install <Some::Module>
Removing Modules
A clean way is by using this Perl program:
#!/usr/bin/perl -w use ExtUtils::Packlist; use ExtUtils::Installed; $ARGV[0] or die "Usage: $0 Module::Name\n"; my $mod = $ARGV[0]; my $inst = ExtUtils::Installed->new(); foreach my $item (sort($inst->files($mod))) { print "removing $item\n"; unlink $item; } my $packfile = $inst->packlist($mod)->packlist_file(); print "removing $packfile\n"; unlink $packfile;