use URI::Escape; my $start = "http://www.xxxx.com/programs_results/"; my $mech = WWW::Mechanize->new( autocheck => 1 ); $mech->get( $start ); my @links = $mech->find_all_links( url_regex => qr/\d+.+\.pdf$/ ); chdir $progdest or die "Can't change directory: $!\n"; for my $link ( @links ) { my $url = $link->url_abs; my $filename = URI::Escape::uri_escape( $link- >url_abs->path ); $filename =~ s[^.+/][]; mech->get( $url, ':content_file' => $filename ); }