Не похоже, что вы используете какое-либо регулярное выражение. Вы пытаетесь использовать буквенный шаблон в качестве имени файла для загрузки.
Возможно, вы хотите использовать ls
метод Net :: FTP , чтобы получить список файлов и затем отфильтровать их.
foreach my $file ( $ftp->ls ) {
next unless $file =~ m/$regex/;
$ftp->get($file);
}
Вам также могут понравиться ответы, в которых говорится о реализации mget
для "Net :: FTP" в Perlmonks.
Кроме того, я думаю, что вы хотите регулярное выражение, которое находит четыре цифры после даты. В Perl вы можете написать это как \d{4}
. ?
- это квантификатор в Perl, поэтому четыре из них подряд не работают.
IDY.*\.$year$mon$mday\d{4}\.axf