简单的Net::FTP模块的简单应用


这是今天所用的 Net::FTP模块,由于这次所需要编写的脚本比较复杂,我把每个需求写到每个脚本里,然后在把每个脚本的功能,作为一个函数在整合到一起,下面是代码
 
 

#!/usr/bin/perl

use warnings;
use strict;
use Net::FTP;
use Log::Log4perl qw(get_logger); #use log4perl model

use Date::Simple ('date');
use File::Glob ':glob';#directory operation model


my $host="192.168.25.214";
my $usrname="root";
my $pwd="passwd";
my $path="/root/test/tttt";
my @ftpfilenames;
my @ppth;

&ftpdownload($host,$usrname,$pwd,$path);
print "ok!\n";

sub ftpdownload
{
my $newerr = 0;
my ($host,$username,$pwd,$path)=@_;
my $ftp = Net::FTP->new($host,Debug =>0) or $newerr=1;
if($newerr)
  {
  print "create ftp sever fail\n";
  return 0;
  }
$ftp->login($username,$pwd) or $newerr=1;
if($newerr)
  {
  print "login ftp sever fail\n";
  return 0;
  }
$ftp->cwd($path) or $newerr=1;
if($newerr)
  {
  print "change the path $path fail\n";
  return 0;
  }
$ftp->binary() or $newerr=1;
if($newerr)
  {
  print "change binary fail\n";
  return 0;
  }
#@ppth = $ftp->ls($path);

#foreach(@ppth)

# {

# my $ppath = $_;

# $ftp->cwd($ppath) or $newerr=1;

# if($newerr)

# {

# print "change! $ppath fail\n";

# return 0;

# }

# }

$ftp->binary() or $newerr=1;
if($newerr)
  {
  print "change binary fail\n";
  return 0;
  }

@ftpfilenames = $ftp->ls();


#my $oriname;

#my $getresult = $ftp->get($oriname);

foreach(@ftpfilenames)
  {
   my $filename = $_;
   my $oriname= $filename;
   my $getresult ="";
   my $destname = "$host\_$oriname";
   $getresult = $ftp->get($oriname,$destname);
  if(defined($getresult))
     {
      print "get $oriname success from $host\n";
     }
  else
    {
     print "get $oriname fail from $host\n";
    }
  }
$ftp->quit;
}


今天最大的体会就是发现

use warnings;
use strict;

这两行真的很重要,以后不可以不加它们了!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值