[Dresden-pm] Problem mit Moduleinbindung
Steffen Schwigon
schwigon at webit.de
Mi Aug 15 01:28:37 PDT 2007
"Thomas Rittsche" <thomas.rittsche at gmail.com> writes:
> Ja - so können wir schon mal die Methode calculate aufrufen. Prima.
> Allerdings zerschießt es uns da die übergebene Hash-Referenz. Da
> stehen dann nicht mehr die benötigten Variablen drin, sondern der
> Pfad zu $myModul, z.B.: Module::myModul. Hat jemand Vorschläge ???
Es gibt einen Unterschied zwischen
Module->method( \%args );
# oder
$instance->method( \%args );
und
Module::sub( \%args );
Erste Variante mit -> ist ein Methodenaufruf, dort wird das Modul (als
String) oder das Objekt $instance als erster Parameter vor den anderen
Parametern eingeschoben.
Die zweite Variante mit :: ist einfach der Aufruf einer Sub aus dem
Namespace "Module". Hier kommt die Hashref \%args als erstes Argument
an.
Ich musss zugeben, dass ich die Doppelpunktvariante auch grade nicht
ohne String-eval hinbekomme.
Steffen
--
Steffen Schwigon <schwigon at webit.de>
Dresden Perl Mongers <http://dresden-pm.org/>
Deutscher Perl-Workshop <http://www.perl-workshop.de/>