in reply to REQUEST_URI from $ENV gets truncated

I'm not real sure about your $ENV problem, but using CGI.pm i can do the following:
#!/usr/bin/perl -w use CGI; use strict; print $q->header, $q->url(-absolute=>1, -path=>1, -query=>1);
I added ?file_url=//testdoc_dir/t1.txt&file_path=/u02/data/doc/test/t1.txt&43368 to the end of the URL which produced the following output:
/cgi-bin/temp/self.cgi?file_url=%2F%2Ftestdoc_dir%2Ft1.txt&file_path=% +2Fu02%2Fdata%2Fdoc%2Ftest%2Ft1.txt
HTH

Update: got rid of s/// and used the url method with some extra params. Also, you'll note that &43368 gets thrown away. adding an equals sign afterwards seems to keep it. *shrug*

Alternatively, you might write:
print $q->url(-absolute=>1, -path=>1), '?', $ENV{QUERY_STRING};
Which gives (note: unescaped URL)
/cgi-bin/temp/self.cgi?file_url=//testdoc_dir/t1.txt&file_path=/u02/da +ta/doc/test/t1.txt&43368


--
Rock is dead. Long live paper and scissors!