hi Dieter,
Woher weiß ich, ob ich einen Modul einbinden muss und ggf. welchen?
nochwas, bischen ausführlicher. Es gibt verschiedene Möglichkeiten der Verwendung eines Perl-Moduls. Module können Funktionen exportieren, wobei es auch da wieder zwei Möflichkeiten gibt:
use Foo qw(bar); # Export der Funktion 'bar' auf Import-Anforderung in main
print bar(123); # nutze die Funktion in main
use Foo; # Foo exportiert Funktionen, Variablen (Symbole)
print bar(123); # nutze eine der exportierten Funktionen
Package main ist Dein Perl-Script, was Module einbindet. Andere Module möchten eine Instanz erstellt haben
use Foo;
my $f = Foo->new(); # Erstelle in er main eine Instanz von Foo, ein Objekt
print $f->bar(123); # benutze Methode bar mit Argument 123
I.d.R. werden Methoden mit dem Arrow-Operator aufgerufen (über die Instanz, das Objekt). Hier sieht der Programmierer gleich: aha, Methode bar() gehört zur Klasse (Package) Foo.
Wenn Du Scripts bekommst, wo 'einfach so' mal ne Funktion aufgerufen wird:
my $x = fx(123)
und Du Dich fragst, wozu gehört fx(), rufe die Perldoc
perldoc -f fx
und Perl wird antworten: No documentation for perl function `fx' found
Ergo gehört fx() zu irgendeinem Modul, wofür Dir derjenige, von dem Du das Script hast, sicher mehr sagen kann ;)
Hotti