#! 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}";
}