!/usr/bin/env perl use strict; use warnings; use URI; # a relative url: my $rel_url = '../../../../../abc.html'; # the base url, where I stand now: my @base_uris = ('http://server.com/123/xyz', 'http://server.com/1/2/3/4/5', 'http://server.com/1/2/3/4/5/'); # URI's absolute url: foreach my $abase (@base_uris){ my $uri = URI->new_abs( $rel_url, $abase ); print "absolute for base: $abase is\n\t".$uri."\n"; }