uhm, "well written" has nothing to do with anything, don't spout FUD.
Moreso requires a clueful person installing the script. It's much easier as a script-writer to explain absolute paths, when many hosts require scripts be put in cgi-bin which is actually a scriptaliased directory, which does not allow viewing other files. I.e. if you wanted the script to open up /something.html in relation to your htroot, you'd put ../htdocs/something.html under certain dir structures. You get the idea, at least.
You don't go and put /something.html because that's what it looks like to the outside world, which is what many, many people mistakingly do, and is what Amish did.
Also, since you're so much better than any perl coder out there, you would also know that execution wrappers that many hosts use (i.e. suexec and others), sometimes modify the pwd, and it gets even harder to "predict" what you should tell your average webmaster to do.
In short, you're an idiot. It may work fine in your specific case, but what works well for you, in that situation does not make others work not "well written".
I can also get into even more issues why absolute pathing is usually better than relative pathing for stuff like this, but I won't bore you.
People spreading FUD piss me off.
-Phil
PS: Amish, via ftp go to the directory where the script is located (where you uploaded it) and type pwd. See what that reports. If nothing, put the folling in a script and chmod accordingly.
!#/usr/bin/perl
print 'Content-type: text/html',"\n\n";
my $pwd = `pwd`;
print "PWD=$pwd";
see what that spits out at ya.
otherwise just try putting that content-type print line right after !#/usr/bin/perl in your script, and you may be able to catch the error in some cases. You need a new host btw, they sound rather clueless. They should at the very least give you access to your logs, and path information. (Unless of course it's free.

)
-Phil