Have a look at mirror; I haven't used it for a while, but it always did what was advertised.

That failing, LWP (or LWP::Simple) makes it pretty easy to roll your own. If you have a relatively small/static list of files:

use LWP::Simple; my $remote = 'ftp://ftp.example.com/path'; # All filenames relative to $remote my @files = qw( file1.tar.gz file2.tar.gz file3.zip subdir/another.tar.gz long/path/test.txt ); mirror("$remote/$_", "$local/$_") for @files;

If you need to generate listings of files recursively based on listings from the server, you will probably want to have a look at Net::FTP::Recursive's rls method.

If you just need something to work with a minimum of fuss, and don't actually need a Perl solution, wget will do the trick (Win32):

wget --mirror ftp://ftp.example.com/path

In reply to Re: ftp new files by rjt
in thread ftp new files by Jim Wang

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.