If you know wget's syntax better than LWP, and your target system has wget, use system() and wget. There is nothing wrong with using Perl for shell scripting. LWP has higher CPU/MEM overhead than the C wget. The core LWP (libwww-perl) doesn't support async requests. Backgrounding command line downloaders is a easy way to implement async internet requests in Perl. I personally use
as my command line downloader. Sometimes I run aria2 in daemon mode and control it through
having it downloading dozens of files at the same time to disk, then I read the files synchronously into the Perl from disk for processing, its almost instantaneous because of OS write caching.