#/usr/bin/perl -w use strict; use warnings; my $host; my $uid; my $pwd; my $ftph; my %FList = ( 'BCLR7650(-1)' => 'BCL.SDBA.TRANSFER', 'BCLR7651(-1)' => 'BCL.SDBA.TRANSFER', 'BCXD5001(-1)' => 'BCL.SDBA.OUTGOING', ); &GetFiles(%FList); sub Connect { my $ftph = Net::FTP->new($host) or die "Can't connect"; $ftph->login($uid,$pwd) or die "Can't login!"; } sub GetFiles { my $cntFails=1; while ($cntFails>0) { $cntFails=0; &Connect; for my $FName (keys %FList) { next if !defined $FList{$FName}; print "Getting $FName from $FList{$FName}\n"; if ($ftph->cwd($FList)) { if ($ftph->get($FName)) { $FList{$FName} = undef; } else { ++$cntFails; } } else { ++$cntFails; } } $ftph->quit; } }