in reply to Using URI::URL to go through an array of relative URL's
Try printing the value of $base, you will find it is empty. URI::URL->base() returns the previously set base for an relative URL. You already have the 'base' for converting to absolute: $url.
use strict; use warnings; use URI::URL; use WWW::Mechanize; use Data::Dumper; my $url = 'http://www.dcs.shef.ac.uk/'; my $webcrawler = WWW::Mechanize->new(); my $content = $webcrawler->get($url) || die( "!!etc" ); my @absolute_links = map { url( $_->[0], $url )->abs->as_string } @{ $webcrawler->links }; print Dumper \@absolute_links;
In general, to debug an issue like this, you just need to step through printing your intermediate values. Data::Dumper is your friend.
Addendum: The way you had written your map was destructive - it changed the old array as you created the new one. In general, try to think of your map block as an expression rather than a statement.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Using URI::URL to go through an array of relative URL's
by lampros21_7 (Scribe) on Sep 09, 2005 at 17:01 UTC | |
by fishbot_v2 (Chaplain) on Sep 09, 2005 at 17:35 UTC |