#! perl -slw use strict; use LWP::UserAgent; use HTTP::Request; use HTTP::Response; use HTTP::Message; my $iteration = 1; my $some_directory = 'C:/test/junk'; #open(URLS, $some_directory.'urls.txt'); while () { my $url = $_; chomp $url; get_url($url, $iteration); print "($iteration) $url\n"; #sleep 3; $iteration++; } #close URLS; sub get_url { my ($url, $iteration) = @_; pipe(my $READER, my $WRITER); if (my $pid = fork) { close $WRITER; open(my $FH, '>'. "$some_directory/$iteration" ) or die $!; while (<$READER>) { print $FH $_; } close $READER; close $FH; waitpid $pid, 0; print "$pid returned: ", $? >> 8; } elsif (defined $pid) { close $READER; my $ua = LWP::UserAgent->new(); my $request = HTTP::Request->new("GET", $url); my $response = $ua->request($request); my $content = $response->content(); print $WRITER $content; close $WRITER; undef $request; undef $response; exit 123; } }