moin,
Oder gibts irgendeine Anweisung, die ich beim Einbinden oder in der js-Datei angeben kann, damit die korrekt geparst wird?
Es gibt auf jeden Fall einen schöneren Schreibstil für die print-Anweisung, womit das Maskieren der Spezialzeichen entfallen kann:
print qq(
<script type="text/javascript" src="/mylib.js">
</script>
);
print qq(
<script type="text/javascript">
var x = {};
alert("$perlvariable");
</script>
);
Du siehst im 2. Beispiel, wie einfach es ist, da eine $perlvariable mitzugeben. Wenn alles linksbündig steht, geht aus das HERE-Konstrukt:
print <<"TOKEN";
// JavaScript
TOKEN
Und schaffe klare Verhältnisse, was Pfadangaben betrifft. Eine Angabe wie
src="x.js"
solltest Du Dir abgewöhnen, selbst dann, wenn x.js im gleichen Verzeichnis ist, wie das Perl(CGI)script. Es gibt für Scripts in /cgi-bin/ kein "Arbeitsverzeichnis" was ebenso /cgi-bin/ heißt, es gibt eine Umgebung %ENV und wenn Du da reinschaust, wirst Du sehen, dass alle Pfadangaben mit einem "/" beginnen. Mach es genauso, der "/" bezieht sich immer auf DOCUMENT_ROOT, sofern es sich nicht um eine virtuelle Pfadangabe handelt wie ScriptAlias /cgi-bin/ sondern um physikalisch vorhandene Ressourcen wie JS oder HTML-Dateien.
Hottü