Ich habe inzwischen das SELFHTML-Kapitel zu dem Thema nachgelesen und da gibt es einen Absatz, den ich nicht verstehe:
1. 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.
Frage: Und wenn im rufenden Programm ein Parameter dieser EXPORT-Liste angegeben wird?
2. Die Liste @EXPORT_OK nimmt dagegen die Namen auf, die ein einbindendes Script maximal in den eigenen Namensraum übernehmen kann, aber nicht übernehmen muss.
Frage: Was wird im folgenden Beispiel in das Hauptprogramm exportiert?
Hauptprogramm: Test.pl
Fall 1: - nur %FORMULARFELDER?
#!/usr/bin/perl -w
use Testmodul;
Fall 2: - ebenfalls nur %FORMULARFELDER?
#!/usr/bin/perl -w
use Testmodul qw(%Formularfelder);
Fall 3: - %FORMULARFELDER und $Zeitstempel?
#!/usr/bin/perl -w
use Testmodul qw(%Formularfelder $Zeitstempel);
Unterprogramm: Testmodul.pl
package Testmodul;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(%FORMULARFELDER);
@EXPORT_OK = qw($Zeitstempel @Logdaten Besteller_ermitteln);
# eine Funktion namens Besteller_ermitteln
1;