Well, if you want, you could write the absolute path simply to "/cgi-bin/test.pl" instead of including the hostname. Then near the top of your script, you could do something like
unless ( $ENV{HTTP_HOST} =~ /desired_host_name/ ){
# print content-type header if needed
# along with error message, or just exit;
}
So if the script isn't being called "locally" like "http://servername/cgi-bin/test.pl" (and you're testing for "servername"), it will just exit quietly, or perhaps you could spew an error message.
I can't speak to the relative security of this method (can it be spoofed?), and don't know if you have access to that environment variable, but it's worth a shot.
--Kozz