hotti: Getter/Setter

Beitrag lesen

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