#! perl -slw use strict; sub getHTML{ my $url=shift; #! Replace with the code to get HTML for $url return join' : ', map{ local $"=''; #!" "www.@{[ chr(97+rand 26), int rand 10 ]}.com" } 0 .. rand 5; } sub getLinks{ my ($webref, $url) = @_; $webref->{$url}{html} = getHTML $url; #! Replace with code to extract links from html my @links = split' : ', $webref->{$url}{html}; return @links; } sub spider { my ($webref, $url) = @_; my @links = getLinks $webref, $url; for my $link (@links) { next if exists $webref->{$link}; spider( $webref, $link ); } } my %web; spider \%web, 'First.com'; for my $url (sort keys %web) { print "$url => $web{$url}{html}"; }