my $m = new WWW::Mechanize; my $ROOT = "/path/to/download/directory"; sub visit { my $url = shift; $m->get($url); ... for my $link ($m->links) { visit($link->url_abs); # problem is here } } visit("file:$ROOT/index.html");