http://qs1969.pair.com?node_id=573875


in reply to How could i FTP specific file from remote system ?

use Net::Lite::FTP; my $tlsftp=Net::Lite::FTP->new(); $tlsftp->open("ftp.tls.pl","21"); $tlsftp->user("user"); $tlsftp->pass("password"); $tlsftp->cwd("sth"); my $files=$tlsftp->list("nok*"); foreach $f (@$files) { print "Getting file: $f\n"; $tlsftp->get($f); };

This assumes FTP servers support wildcards, when there were exploits for wildcards in the wild, some FTP servers would turn off this feature, thus, you would like to list all the files and then grep it on client side - this might require some memory if the list is large. (if you know that full list is too big to fit in memory, but your wildcarded list fits fine, you can try grepp-ing the list on-line).

If the list is really huge, and even your smaller list wouldn't fit in memory, you would need two FTP connections - one for list, and the other for files.