Hoi,
Bin irgendwie blablabla, da programmiert man irgendwas grosses
und weiss nicht einmal mehr, wie man Variablen exportiert ;-(
Am besten gar nicht!
Ich hab'n Modul, das die einen bestimmten Hash iniziiert, der
anschliessend (mit Inhalt!) im Hauptprogramm zu gebrauchen sein
soll.
Tu das nicht, bitte.
Nun gut, der Code waere so z. B. richtig:
package mymod;
use strict;
use vars qw(@ISA @EXPORT $VERSION %HASH);
use Exporter;
$VERSION = 2.06;
@ISA = qw(Exporter);
@EXPORT = qw(%HASH); # IMHO schoener als ('%HASH')
sub _GetHash
{
[...]
return %tmpHASH;
}
%HASH = &_GetHash;
1;
hier sollte er jetzt den im Modul mymod iniziierten Hash %HASH
ausgeben, tut er aber nicht und strict gibt noch nicht einmal
einen Fehler aus, also: Wo zum Henker mache ich was falsch?
Der Fehler liegt im 'my %HASH'. Eine mit 'my' angelegte Variable
*kann* nicht exportiert werden, sie erhaelt gar keinen Eintrag in
der Symbol-Tabelle des Moduls.
Gruesse,
CK