perl 常用模块使用例子

perl 常用模块使用例子------欢迎大家补充。 一些常用模块的简单描述http://www.perldoc.com/perl5.6/pod/perlmodlib.html在perl 中使用模块:模块的下载地址:http://www.cpan.org/modules/01modules.index.html安装模块:1. perl Makefile.PL2. make3. make tes
摘要由CSDN通过智能技术生成
perl 常用模块使用例子------欢迎大家补充。
 
一些常用模块的简单描述
http://www.perldoc.com/perl5.6/pod/perlmodlib.html

在perl 中使用模块:
模块的下载地址: http://www.cpan.org/modules/01modules.index.html
安装模块:
1. perl Makefile.PL
2. make
3. make test
4. make install
也可以用如下命令安装模块(已知的适用的系统redhat 9.0,其他的我不知道,请大家试试看:).
perl -MCPAN -e shell>

接着输入:install MODEL_NAME

查看模块的帮助:
perldoc MODEL_NAME
例如:
perldoc Net::FTP


已有模块:(以下的内容转自CU,谢谢CU的朋友)
说明:
以下例子 代码的测试是在FreeBSD & Solaris下进行的,Perl版本为5.005_03。

(1) Net::FTP
(2) Net::Telnet
(3) LWP::Simple, get()
(4) Expect
(5) XML::Simple, XMLin()
(6) Data::Dumper, Dumper()
(7) IO::Socket
(8) Date::Manip, DateCalc(), UnixDate()
(9) Date::Manip, Date_Cmp()
(10) File::Find, find()
(11) ExtUtils::Installed, new(), modules(), version()
(12) DBI, connect(), prepare(), execute(), fetchrow_array()
(13) Getopt::Std
(14) Proc::ProcessTable
(15) Shell
(16) Time::HiRes, sleep(), time()
(17) HTML::LinkExtor, links(), parse_file()
(18) Net::Telnet, open(), print(), getline()
(19) Compress::Zlib, gzopen(), gzreadline(), gzclose()
(20) Net::POP3, login(), list(), get()
(21) Term::ANSIColor
(22) Date::Calc Calendar(), Today()
(23) Term::Cap, Tgetend(), Tgoto, Tputs()
(24) HTTPD::Log::Filter
(25) Net::LDAP
(26) Net::SMTP mail(), to(), data(), datasend(), auth()
(27) MIME::Base64, encode_base64(), decode_base64()
(28) Net::IMAP::Simple, login(), mailboxes(), select(), get()...
(29) Bio::DB::GenBank, Bio::SeqIO
(30) Spreadsheet::ParseExcel
(31) Text::CSV_XS, parse(), fields(), error_input()
(32) Benchmark

说明:
以下例子 代码的测试是在RH Linux7.2下进行的,Perl版本为5.6.0。

(33) HTTP:: Daemon, accept(), get_request()...
(34) Array::Compare, compare(), full_compare()...
(35) Algorithm::Diff, diff()
(36) List::Util, max(), min(), sum(), maxstr(), minstr()...
(37) HTML::Parser
(38) Mail::Sender
(39) Time::HiRes, gettimeofday(), usleep()


这里接着上面的序号:
(40) Image::Magick

以下模块在RedHat 9.0 ,perl version v5.8.0 built 通过。
(41) Data::SearchReplace

devel 03-12-05 21:53

(1)Net::FTP


#!/usr/bin/perl -w
# file: ftp_recent.pl
# Figure 6.1: Downloading a single file with Net::FTP

use Net::FTP;

use constant HOST => 'ftp.perl.org';
use constant DIR => '/pub/CPAN';
use constant FILE => 'RECENT';

my $ftp = Net::FTP->new(HOST) or die "Couldn't connect: $@/n";
$ftp->login('anonymous') or die $ftp->message;
$ftp->cwd(DIR) or die $ftp->message;
$ftp->get(FILE) or die $ftp->message;
$ftp->quit;

warn "File retrieved successfully./n";

devel 03-12-05 21:59

(2)Net::Telnet

#!/usr/bin/perl -w
#file:remoteps.pl
use strict;
use Net::Telnet;
use constant HOST => 'phage.cshl.org';
use constant USER => 'lstein';
use constant PASS => 'xyzzy';

my $telnet=Net::Telnet->new(HOST);
$telnet->login(USER,PASS);
my @lines=$telnet->cmd('ps -ef');
print @lines;

devel 03-12-06 23:22

(3)LWP::Simple, get()
#!/usr/bin/perl -w
use strict;
use LWP::Simple qw(get);

my $url = shift || "http://www.chinaunix.net";
my $content = get($url);

print $content;

exit 0;
最简单方便的get网页的方法。

devel 03-12-06 23:25

(4) Expect

#!/usr/bin/perl
use strict;
use 
Expect;

my $timeout 2;
my $delay 1;
my $cmd    "ssh";
my @params qw/202.108.xx.xx -lusername -p22/;
my $pass "passwd";

my $exp Expect->spawn($cmd, @params) or die "Can't spawn $cmd/n";
$exp->expect($timeout, -re=>'[Pp]assword:');
$exp->send_slow($delay"$pass/r/n");

$exp->interact();
$exp->hard_close();

exit 
0


devel 03-12-06 23:26

(5) XML::Simple, XMLin()

#!/usr/bin/perl -w
use strict;
use 
XML::Simple;
my $text = <<xml;
< ?
xml version="1.0"? >
<
web-app>
  <
servlet>
    <
servlet-name>php</servlet-name>
    <
servlet-class>net.php.servlet</servlet-class>
  </
servlet>
  <
servlet-mapping>
    <
servlet-name>php</servlet-name>
    <
url-pattern>*.php</url-pattern>
  </
servlet-mapping>
</
web-app>
xml
my $x 
XMLin($text);
foreach 
my $tag(keys %$x)
{      
   
my %= %{$$x{ $tag}};
   foreach(
keys %h)
   {      
      print 
"$tag => ";
      print 
"$_ => $h{$_}/n";
   }
}
exit 
0


devel 03-12-06 23:33

(6) Data::Dumper, Dumper()

#!/usr/bin/perl -w
use strict;
use 
Data::Dumper;

print 
Dumper(@INC);
print 
Dumper(%ENV);
exit 
0


devel 03-12-06 23:33

(7) IO::Socket

#!/usr/bin/perl -w
use strict;
use 
IO::Socket;

my $host "www.chinaunix.net";
my $port "80";
my $http_head "GET / HTTP/1.0/nHost: $host:$port/n/n";
my $sock IO::Socket::INET->new("$host:$port")
or die 
"Socket() error, Reason : $! /n";

print 
$sock $http_head;
print <
$sock>;

exit 
0


devel 03-12-06 23:34

(8) Date::Manip, DateCalc(), UnixDate()

#!/usr/bin/perl
use strict;
use 
Date::Manip;

my $date=&DateCalc("today","-1 days"0);#yesterday
my $date=&UnixDate($date"%Y-%m-%d %T");

print 
"$date/n";
exit 
0


devel 03-12-06 23:34

(9) Date::Manip, Date_Cmp()
#用于时间日期的比较

#!/usr/bin/perl
use strict;
use 
Date::Manip;
my $date1 "Fri Jun  6 18:31:42 GMT 2003";
my $date2 "2003/05/06";
my $flag=&Date_Cmp($date1,$date2);

if(
$flag<0)
{
   print 
"date1 is earlier!/n";
}
elsif($flag==0)
{
   print 
"the two dates are identical!/n";
}
else
{
   print 
"date2 is earlier!/n";
}
exit 
0


devel 03-12-06 23:35

(10) File::Find, find()

#!/usr/bin/perl -w
use strict;
use 
File::Find;

my $file "access.log";
my $path "/";

find(&process$path);

sub process{ print $File::Find::dir"$_/n" if(/$file/); }

exit 
0;

#用于在unix文件树结构中查找对象。 


devel 03-12-06 23:35

(11) ExtUtils::Installed, new(), modules(), version()

查看已经安装的模块的相应信息。

#!/usr/bin/perl
use strict;
use 
ExtUtils::Installed;

my $instExtUtils::Installed->new();
my @modules $inst->modules();

foreach(@
modules)
{
        
my $ver $inst->version($_) || "???";
        
printf("%-12s --  %s/n"$_$ver);   
}
exit 
0


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值