#!/usr/bin/perl
use strict;
use warnings;
use Carp;
use Data::Dumper;
use Net::hostent;
#use Net::Ping;
use Net::FTP::Recursive;
my %params = (
site => "ftp.dell.com",
dir => "Browse_For_Drivers/Servers, Storage & Networking/PowerEdge",
);
FTPConnect (\%params);
sub FTPConnect {
my $ref_params = shift @_;
my $retval = "";
my $ftp = Net::FTP::Recursive->new($ref_params->{site}, Debug => 1, Timeout => 15);
if ($ftp) {
$retval = "OK: connected via FTP to " . $ref_params->{site} . "\n\n" ;
$ftp->login("anonymous",'me@here.there');
$ftp->binary;
$ftp->cwd($ref_params->{dir});
#$ftp->rget( ParseSub => \&GetFiles($ftp),
$ftp->rget( ParseSub => \&GetFiles,
FlattenTree => 1,
#MatchDirs => qr/PowerEdge (R810|R610|R720|R620|M620|M1000E)/,
#MatchFiles => qr/\.txt/,
);
$ftp->quit;
}
else {
$retval = "ERROR: FTP for host $ref_params->{site}\n\n"
}
return $retval;
}
sub GetFiles {
#my $my_ftp = shift @_;
#$my_ftp->get("*.txt");
return;
}
####
Net::FTP::Recursive=GLOB(0xa4bee8)<<< 250 CWD command successful.
Net::FTP::Recursive=GLOB(0xa4bee8)>>> PWD
Net::FTP::Recursive=GLOB(0xa4bee8)<<< 257 "/Browse_For_Drivers/Servers, Storage & Networking/PowerEdge" is current directory.
Net::FTP::Recursive=GLOB(0xa4bee8)>>> PASV
Net::FTP::Recursive=GLOB(0xa4bee8)<<< 227 Entering Passive Mode (143,166,147,12,231,73)
Net::FTP::Recursive=GLOB(0xa4bee8)>>> LIST
Net::FTP::Recursive=GLOB(0xa4bee8)<<< 150 Opening BINARY mode data connection.
Net::FTP::Recursive=GLOB(0xa4bee8)<<< 226 Transfer complete.
drwxrwxrwx 1 owner group 0 Aug 29 2012 Dell KVM 1081AD
drwxrwxrwx 1 owner group 0 Sep 25 2012 Dell KVM 1082DS
...
Net::FTP::Recursive=GLOB(0xa4bee8)>>> PWD
Net::FTP::Recursive=GLOB(0xa4bee8)<<< 257 "/Browse_For_Drivers/Servers, Storage & Networking/PowerEdge" is current directory.
Net::FTP::Recursive=GLOB(0xa4bee8)>>> QUIT
Net::FTP::Recursive=GLOB(0xa4bee8)<<< 221 Thank you for using the Dell FTP site, please come again.
##
##
Net::FTP::Recursive=GLOB(0x1054fa8)<<< 250 CWD command successful.
Net::FTP::Recursive=GLOB(0x1054fa8)>>> PASV
Net::FTP::Recursive=GLOB(0x1054fa8)<<< 227 Entering Passive Mode (143,166,135,12,255,118)
Net::FTP::Recursive=GLOB(0x1054fa8)>>> RETR *.txt
Can't use an undefined value as a symbol reference at /usr/share/perl5/Net/FTP/dataconn.pm line 54.