加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl 模块

发布时间:2020-12-16 00:22:38 所属栏目:大数据 来源:网络整理
导读:1.? File::Find 模块 use File::Find???? 使用该模块,这时一个find的新函数就可以使用了 find? subref,dirlis????? find的第二个参数是要搜索的目录。第一个参数是子例程引用。 $File::Find::name?? 当前路径名,包括目录和文件名 $File::Find:dir???????

1.? File::Find 模块

use File::Find???? 使用该模块,这时一个find的新函数就可以使用了

find? subref,dirlis????? find的第二个参数是要搜索的目录。第一个参数是子例程引用。

$File::Find::name?? 当前路径名,包括目录和文件名

$File::Find:dir??????? 当前目录名

#! /usr/bin/perl -w?????????? 这是一个删除/tmp目录下文件的脚本
use strict;
use File::Find;
sub wanted {
??? if (-f $File::Find::name) {
??????? print "Remove $File::Find::namen";
??????? unlink $File::Find::name;?????????????????? 删除文件
?????? }
}
find(&;wanted,'/tmp');

======================

#! /usr/bin/perl -w

use strict;

use File::Find;

sub wanted{

????? if (-f $File::Find::name) {

???????????? if ($File::Find::name =~ /.tmp$/i) {

?????????????????? print "Remove $File::Find::namen";

?????????????????? unlink $File::Find::name;

????????????? }

??????? }

}

find(&;wanted,'c:/','d:/');

===?=============================

2.File::Copy 模块

use File::Copy;

copy("sourcefile","destination") || warn "Could not copy file: $!";

#! /usr/bin/perl -w
use File::Copy;
copy('/tmp/a','/root/test') || warn "Can not cp file: $!";

=====================

File::Copy模块也提供了一个move函数。将一个文件从一个目录移到另外一个目录里。

#! /usr/bin/perl -w
use File::Copy;
move('/tmp/a','/root/test/b') || warn "Can not cp file: $!";? 将/tmp目录里的a文件移到/test目录里并改名为b

======================

#! /usr/bin/perl -w

use File::Copy;

if (not move("import.doc" "d:/archives/import.doc")) {

???????? warn "import.doc could not e moved: $!";

???????? unlink "d:/archives/import.doc";

}

?=================================

3. Net::Ping? 模块

use Net::Ping??

Net::Ping模块提供了一个pingecho函数,该函数有两个参数,第一个参数是要查找的主机,第二个参数是指明pingecho应该等待多长时间才能收到对方应答,以秒为单位

#! /usr/bin/perl -w
use Net::Ping;
if (pingecho("www.baidu.com",10)) {
??? print "baidu is on the networkn";
} else {
??? print "baidu is unreachable.n";
}

===================

#! /usr/bin/perl -w
use strict;
use Net::Ping;
for(my $i=1;$i<=10;$i++) {
??? my $a="192.168.1.$i";
??? if (pingecho($a,10)) {
?????? print "$a is upn";
?????? print "-" x 20,"n";
} else {
?????? print "$a is downn";
?????? print "-" x 20,"n";
}
}

================================

use Net::Ping;
use strict;
my @host=qw(192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5
??????????? 192.168.1.7 192.168.1.8 192.168.1.9 192.168.1.11 192.168.1.12
???192.168.1.13 192.168.1.14 192.168.1.15 192.168.1.16 192.168.1.21
???192.168.1.22 192.168.1.30 192.168.1.31 192.168.1.35);
foreach my $host (@host) {
?? my $p=Net::Ping->new("icmp");
???? if ($p->ping("$host",5)) {
?? print "$host is up.n";
? } else {
?? print "$host is down.n";
}
}
system('pause');

===================================

4.Net::FTP 模块

use Net::FTP;

??? $ftp = Net::FTP->new("some.host.name", Debug => 0)
????? or die "Cannot connect to some.host.name: $@";

??? $ftp->login("anonymous",'-anonymous@')
????? or die "Cannot login ", $ftp->message;

??? $ftp->cwd("/pub")
????? or die "Cannot change working directory ", $ftp->message;

??? $ftp->get("that.file")
????? or die "get failed ", $ftp->message;

??? $ftp->quit;

?

#! /usr/bin/perl

use Net::FTP

$ftp=Net::FTP->new("192.168.1.1",Debug=>0) or die "Cannot connect FTP";

$ftp->login('username','password') or die "Can not login",$ftp->message;

$ftp->cwd("/var/pub/") or die "Can not change working directory"? #切换FTP的工作目录

chdir "/home/linux";???? #更改本地目录(用于接收文件)

$ftp->get("passwd") or die "get failed",$ftp->message;??? #获取指定文件

$ftp->quit;?????? #退出

?

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读