REQUEST_URI doesn't appear to be part of the CGI specification (though apache does provide it). Try combining SCRIPT_NAME, PATH_INFO, and QUERY_STRING. (as mentioned in rfc 3050).
I have seen a few tutorials on Environment Variables in Perl that show REQUEST_URI as a perl Environment Variable.
They dont say anything about apache providing it and IIS not.
I'm not saying Joost is wrong, but there may be some tutorials out there that are.
the environment variables for a cgi program are always set by the webserver running the code. otherwise, how would they get set?
REQUEST_URI is nice to have but since it's not in the CGI specs webservers are not under any obligation to provide it. Also the MS support page "Environment Variables Returned by IIS via CGI" doesn't list REQUEST_URI either.