1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
{ package Foo; use Class::Std; use Class::Std::Utils; use Foo::More; sub new { my ($class) = @_; my $new_object = bless anon_scalar(), $class; return $new_object; } sub bar { my ($self) = @_ #... } } { package Foo::More; sub baz { my ($self) = @_ #... } } #/usr/bin/perl; use strict; use Bar; new Bar->baz;
QuoteDa Baz ja nicht in dem Foo Package selbst ist (sondern in Foo::More, muss die Funktion quasi in deren Namensraum geladen werden. Wie macht man das? Mit Exporter die Funktion defaultmässig exportieren, wenn Foo::More eingebunden wird? Funktioniert Exporter auch bei Klassen?
Guest werOder man nutzt
Damit werden alle Funktionen aus "MyPackage" in das aktuelle importiert.
"Exporter" ist etwas aufwändig, wenn man nicht spezifizieren will was man importieren möchte.