#!/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; }