Hallo Renate!
Keine Ahnung, ob Larry Wall, außer Linguistik studiert zu haben, auch noch Ökonomie, insbesondere Export/Import, zu seinen Studienfächern zählte ;)
Aber es steht schon in SELFHTML:
<cite>
Die Liste @EXPORT kann Namen der Module aufnehmen,
die in den Namensraum eines einbindenden Scripts
standardmäßig exportiert werden, wenn bei der
Einbindung keine spezielle Importliste angegeben ist.
</cite>
Das bedeutet, Du muss bei »use Modul.pm« nicht explizit angeben, welche Variablennamen, Funktionennamen, etc. Du aus dem Modul in Den Namensraum des einbindenden Scripts (main::) importiert werden sollen.
Steht in @EXPORT z.B. $foo, kannst Du im Skript sofort $foo benutzen, z.B.:
print $foo;
<cite>
Die Liste @EXPORT_OK nimmt dagegen die Namen auf,
die ein einbindendes Script maximal in den eigenen
Namensraum übernehmen kann, aber nicht übernehmen muss.
</cite>
Das bedeutet, die Namen in der EXPORT_OK-Liste werden bereitgestellt. Musst Du auf eine Variable daraus zurückgreifen, musst Du sie explizit importieren:
In @EXPORT_OK steht beispielsweise:
@EXPORT_OK = qw($bar $buzz @blubb);
Im Skript schreibst Du, falls Du $bar brauchst:
use Modul qw($bar);
print $bar;
package Modul;
require Exporter;our @ISA = ('Exporter');
our @EXPORT = (Liste_der_Standard_Exporte);
our @EXPORT_OK = (Liste_der_Exporte_auf_Anfrage);
Das ist mir so mit 'our' noch nie begegnet.
Viele Grüße aus Frankfurt/Main,
Patrick
--
![](http://www.atomic-eggs.com/fuernA.jpg)
\_ - jenseits vom delirium - \_
[[link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash](http://www.atomic-eggs.com/)]
Nichts ist unmöglich? [Doch!](http://www.atomic-eggs.com/cwi/cwi_4.shtml)
Heute schon ge[gök](http://goek.atomic-eggs.com/goek_goek.html)t?