Почему я получаю ошибки «Файл не найден» с помощью этого сценария Perl, используя Net :: FTP? - PullRequest
0 голосов
/ 19 февраля 2012

Может кто-нибудь сказать мне, что не так с этим кодом?

Насколько мне известно, @zipFiles = grep /zip/, $ftp->dir; создает проблему, но если я удалю эту часть, у меня не будет никакой возможности использовать часть регулярных выражений.

Ошибка: <"Время, file_created_date, File_size, File_name "> файл не найден.

use Net::FTP;

#use File::Copy;

$Login   = "<redacted>";
$Pwd     = "<redacted>";
$ftpHost = "<redacted>";

$ftpFolder = "/daj/dhakj/ahdakl/abc_201206_def_05";
$ftp = Net::FTP->new( $ftpHost, Timeout => 100 );

if ($ftp) {
    print $ftp->message;
}

$ftp->login( $Login, $Pwd );
print $ftp->message;
$ftp->cwd($ftpFolder);
@all_dir = $ftp->ls();

#print @all_dir;

foreach $ls_dir (@all_dir) {
    if ( $ls_dir !~ /exe|txt|zip/ ) {
        $latest_dir = $ls_dir;
    }
}

print "$latest_dir\n";
$mcl_dir = '/daj/dhakj/ahdakl/abc_201206_def_05' . $latest_dir;
$ftp->cwd($mcl_dir) or die "not able to change the dir\n\n";
@zipFiles = grep /zip/, $ftp->dir;

foreach my $myfile (@zipFiles) {
    if ( $myfile !~ /a|b|c|d|/g ) {
        $ftp->get("$myfile");
        print $ftp->message;
    }
}
...