Nachtrag:
Brauchst Du das für ein Script, das sowohl auf Strato als auch 1&1 laufen soll? Warum nicht einfach die Umgebungsvariable DOCUMENT_ROOT einsetzen?
Beispiel:
my $dcr = $ENV{DOCUMENT_ROOT};
my $datei = $dcr."/unterordner/datei.txt";
open (FILE, "$datei") || &ErrorSub;
#etc...
Viele Grüße aus Frankfurt/Main,
Patrick