Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^4: Mojo::URL returns incorrect absolute path

by Anonymous Monk
on May 17, 2013 at 04:21 UTC ( [id://1033940]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Mojo::URL returns incorrect absolute path
in thread Mojo::URL returns incorrect absolute path

#!/usr/bin/perl -- use strict; use warnings; use Mojo::DOM; use Mojo::URL; my $dom = Mojo::DOM->new( '<div> <base href="http://example.com/foo/page"> <a href="/bar/">/bar/</a> <a href="baz/biz">baz/biz</a> <a href="#burp">#burp bug </a> </div>' ); #~ $dom->at('base[href]')->each( ## grr $dom->find('base[href]')->each( sub { my( $base , $count ) = @_; $base = $base->attrs('href'); if(length $base ){ $dom->find('a[href]')->each( sub { my ( $link, $count ) = @_; my $href = $link->attrs('href'); $href = Mojo::URL->new($href)->base( Mojo::URL->new($base) ) +->to_abs; #~ $href and $link->attrs(href => $href ); $href and $link->attrs( href => "$href" ); return; }, ); } }, ); for my $l ( $dom->find('a[href]')->each ) { print $l->attrs('href'), "\n"; } __END__ http://example.com/bar/ http://example.com/foo/baz/biz http://example.com/foo/page#burp

Replies are listed 'Best First'.
Re^5: Mojo::URL returns incorrect absolute path
by mr_p (Scribe) on May 17, 2013 at 14:36 UTC

    I am sorry that I did not mention that I ran Data::Dumper on it.

    I did run Data::Dumper on it. It had two parts for 'page' 'page'.

    This problem does not happen all the time. it only happens sometimes.

      :)really? why not share the dumpered data, instead of an external url that can change?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1033940]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2024-04-20 01:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found