would something as simple as (ok , this isn't perl)
wget -r -c -np http://... work? Recursive (-r) http download of an http directory fetching (-c) only changed files or files that don't exist locally, and (-np) not going back up into higher directories.
just another cpan module author