use strict; use warnings; use CGI qw(a); use URI::Find::Schemeless; my $text = do {local $/;}; my $finder = URI::Find::Schemeless->new( sub { return a{href=>$_[0]->abs},$_[1] } ); $finder->find(\$text); print $text; __DATA__ stuff stuff http://foo.com/bar/qux.html stuff stuff stuff http://bar.com/baz.cgi?foo=bar stuff stuff stuff www.perlmonks.org/?node_id=255439