1、Windows
1)
chcp 437 -- 将Perl的字符集改为英语(United States),中文字符集为936
ppm query * / <Module Name>
2) perldoc perllocal
3) 推荐pmtools里的pminst命令
http://www.linuxidc.com/Linux/2011-11/47615p2.htm
2、Linux
1) perldoc perllocal
2) perl -MCPAN -e shell
cpan>m <Module Name>
#!/usr/bin/env perl
# pminst — find modules whose names match this pattern
# tchrist@perl.comBEGIN { $^W = 1 }
use Getopt::Std qw(getopts);
use File::Find;getopts(‘ls’) || die “bad usage”;
if (@ARGV == 0) {
@ARGV = (‘.’);
}die “usage: $0 [-l] [-s] pattern\n” unless @ARGV == 1;
$pattern = shift();
$pattern =~ s,::,/,g;no lib ‘.’;
use vars qw($opt_l $opt_s);
for $startdir (@INC) {
find(\&wanted, $startdir);
}sub wanted {
if (-d && /^[a-z]/) {
# this is so we don’t go down site_perl etc too early
$File::Find::prune = 1;
return;
}
return unless /\.pm$/;
local $_ = $File::Find::name;
($tmpname = $_) =~ s{^\Q$startdir/}{};
return unless $tmpname =~ /$pattern/o;if ($opt_l) {
s{^(\Q$startdir\E)/}{$1 } if $opt_s;
}
else {
s{^\Q$startdir/}{};
s/\.pm$//;
s{/}{::}g;
print “$startdir ” if $opt_s;
}print $_, “\n”;
}__END__
=head1 NAME
pminst – find modules whose names match this pattern
=head1 SYNOPSIS
pminst [B<-s>] [B<-l>] [I<pattern>]
=head1 DESCRIPTION
Without argumnets, show the names of all installed modules. Given a
pattern, show all module names that match it. The B<-l> flag will show
the full pathname. The B<-s> flag will separate the base directory from
@INC from the module portion itself.=head1 EXAMPLES
$ pminst
(lists all installed modules)$ pminst Carp
CGI::Carp
Carp$ pminst ^IO::
IO::Socket::INET
IO::Socket::UNIX
IO::Select
IO::Socket
IO::Poll
IO::Handle
IO::Pipe
IO::Seekable
IO::Dir
IO::File$ pminst ‘(?i)io’
IO::Socket::INET
IO::Socket::UNIX
IO::Select
IO::Socket
IO::Poll
IO::Handle
IO::Pipe
IO::Seekable
IO::Dir
IO::File
IO
Pod::FunctionsThe -s flag provides output with the directory separated
by a space:$ pminst -s | sort +1
(lists all modules, sorted by name, but with where they
came from)$ oldperl -S pminst -s IO
/usr/lib/perl5/i386-linux/5.00404 IO::File
/usr/lib/perl5/i386-linux/5.00404 IO::Handle
/usr/lib/perl5/i386-linux/5.00404 IO::Pipe
/usr/lib/perl5/i386-linux/5.00404 IO::Seekable
/usr/lib/perl5/i386-linux/5.00404 IO::Select
/usr/lib/perl5/i386-linux/5.00404 IO::Socket
/usr/lib/perl5/i386-linux/5.00404 IO
/usr/lib/perl5/site_perl LWP::IO
/usr/lib/perl5/site_perl LWP::TkIO
/usr/lib/perl5/site_perl Tk::HTML::IO
/usr/lib/perl5/site_perl Tk::IO
/usr/lib/perl5/site_perl IO::Stringy
/usr/lib/perl5/site_perl IO::Wrap
/usr/lib/perl5/site_perl IO::ScalarArray
/usr/lib/perl5/site_perl IO::Scalar
/usr/lib/perl5/site_perl IO::Lines
/usr/lib/perl5/site_perl IO::WrapTie
/usr/lib/perl5/site_perl IO::AtomicFileThe -l flag gives full paths:
$ filsperl -S pminst -l Thread
/usr/local/filsperl/lib/5.00554/i686-linux-thread/Thread/Queue.pm
/usr/local/filsperl/lib/5.00554/i686-linux-thread/Thread/Semaphore.pm
/usr/local/filsperl/lib/5.00554/i686-linux-thread/Thread/Signal.pm
/usr/local/filsperl/lib/5.00554/i686-linux-thread/Thread/Specific.pm
/usr/local/filsperl/lib/5.00554/i686-linux-thread/Thread.pm=head1 AUTHOR and COPYRIGHT
Copyright (c) 1999 Tom Christiansen
This is free software. You may modify it and distribute it
under Perl’s Artistic Licence. Modified versions must be
clearly indicated.
服务器评测





