@files = $ftp->ls; foreach $file1 (@files) { next if(-e $file1); # skip non-directories if(-d $file1) { $ftp->get($file1) || die "Can't get files from $dir :@{[ $ftp->message ]}\n"; } } $ftp->close();