hi,
so wie untenstehend greifen die Variablen in der ausgelagerten Datei.al mit der Funktion fürs AutoLoad:
# dies ist die .pm Datei
package Manager::Shop;
use vars qw($DEMO $tabn $ADDR $oid);
$DEMO = 1; # usw.
Eigentlich, so dachte ich, sollte es auch funktionieren, wenn die Variablen mit dem Schlüsselwort
our $DEMO; deklariert sind, tut aber nicht. Warum ist das so? Perl v 5.6.1
--Rosti
Edit; Fehlermeldung:
our $searchform ... in der .pm Datei
Variable "$searchform" is not importedCompilation failed in require at C:/Perl/lib/AutoLoader.pm line 87
PS: Betrachten wir das P. als gelöst, weil es nur ein 'Schönheitsfehler' ist
use vars(); zu verwenden. AutoLoad ist so eine feine Sache, da kommt es nicht auf Schönheitsfehler an und am Ende wird es ohnehin nur noch eine Variable sein, die ich so deklarieren muss.
Mit AutoLoader ist mein Shop
http://rolfrost.de/demoshop.html affenartig schnell geworden und läuft ressourceschonender denn je. Insbesondere in der Aktion 'Order' (Bestellung senden) wird noch Einiges an Code hinzukommen, da schätze ich den Autoloader sehr!!!
Viele Grüße!
Last edited: 2012-11-03 16:17:39 +0100 (CET)