Hallo,
ich habe in einem Perl-Script mehrere Variablen deklariert:
unter anderem diese:
my $Schriftart = "Arial";
my $Schriftgroesse = "2";
my $Schriftfarbe = "#ffff00";
my $Hintergrundfarbe = "#0000ff";
und noch viele andere.
Nun wollte ich das ganze etwas übersichtlicher und User-freundlicher gestalten, indem ich die Variablen in eine separate Datei (config.pl) auslagere und diese Datei mit require "config.pl"; von dem Script ausführen lasse.
Die Datei enthielt (probeweise) ausschließlich die o.a. 4 Zeilen. Beim Aufruf des Hauptscriptes erhielt ich nun für jede Zeile in der die Variablen vorkommen Fehlermeldungen in der Art:
Global symbol "$Schriftart" requires explicit package name at C:\HTTPD\CGI-BIN\beta.pl line 203
(also undefinierte Variablen?!?! Und das verstehe ich beim besten Willen nicht.)
Nach einigen Überlegungen und verzweifeltem "rumprobieren" fand ich heraus, dass mein Vorhaben dann funktioniert, wenn ich in config.pl alle "my" und im Hauptscript "use strict;" weglasse.
Jetzt funktioniert es zwar, aber ich wüsste doch zu gerne, wie ich vorgehen muss, damit ich im Hauptscript wieder "use strict;" einsetzen kann.
Gruß
Stefan