Grüße,
wie lernen z.Z. absolute Basics in Perl und bei mir scheitert es schon bei einem Variablenaufruf eines anderen Packages.
#!perl -w
use strict;
package IDependencies;
my $requirementFulfilled;
package initialize;
###...##
Bis hier gelesen, kurze Erläuterung: jede Zeile
package Foo;
my $foo = 'Otto';
package Bar;
my $bar = 'Ulli';
eröffnet einen neuen Namespace. Es ist also nicht möglich, in package Foo auf $bar zuzugreifen und nicht möglich in package Bar den Wert von $foo abzufragen, diese Variablen sind in unterschiedlichen Namens-Räumen. Zum einfachen Importieren/Exportieren in andere Namespaces gibt es @EXPORT und @EXPORT\_OK;
Oder: Ein Namespace ist eine Klasse, in der es eine new()-Method gibt, mit der eine Instanz der Klasse erzeugt wird, die wiederum in einem anderen Namespace verwendung findet:
~~~perl
package Foo;
sub new{
my $pkg = shift;
return bless {name => 'Otto'}, $pkg;
}
package main;
my $obj = Foo->new;
print $obj->{name}; # Otto
Beispiel für beide Varianten, Export und Instance.
Hotti