# Client use 5.16.2; use strict; use HTTP::Request; use LWP::UserAgent; use URI::Split "uri_split"; my $uri = 'http://user:pass@localhost:5000/some/path?o=hai#frag'; my $request = HTTP::Request->new( GET => $uri ); my $user_agent = LWP::UserAgent->new; my $response = $user_agent->request($request); if ( $response->is_success ) { my $uri = $response->request->uri; my ( $scheme, $auth, $path, $query, $frag ) = uri_split($uri); say join " + ", $scheme, $auth, $path, $query, $frag; for my $method (qw/ authority host port path fragment query /) { printf "%12s -> %s\n", $method, $uri->$method; } }