routine A (request_uri line works fine) --------- sub handler { my $r = shift; my $request_uri = param('request_uri') || ($r->prev ? $r->prev->uri : cookie('request_uri')); my ($ver_result, $ver_msg) = $authTool->verify($r->prev); routine B --------- # AuthTools::verify() # Call as: # ($result,$msg) = $authTool->verify($r) sub verify { my($self, $r) = @_; my %cookies = CGI::Cookie->parse($r->header_in('Cookie')); ...