Struppi: Globale Variablen

Beitrag lesen

Hallo Bogdan Stupka

Hallo,

wie kann man die globale Variablen aus einer Datei benutzen?

Ich habe sowas geschrieben:

----------in der Datei Global.pm---------------

package Global;

$a = 3;
$b = 4;

1;


--------in der Datei test.pl-------------------

#!/usr/bin/perl -w

use strict 'vars';
use CGI::Carp qw(fatalsToBrowser);
use Cwd;

use Global;

print "Variable $a und $b \n";

Ein altes und immer wieder gern gefragtes Problem.

Die Lösung wäre Exporter. d.h. du musst jede einzelne Variabel in den main Namespace exortieren.

use Exporter;
@EXPORT      = qw(a b);

Was aber oft zu umstandlich ist. eine zweite Lösung wäre die Variabeln dierekt anzusprechen über das package:

use Global;
print "Variable $Global::a und $Global::b \n";

was den Vorteil hat, dass du sofort siehst woher die Variabel kommt.

Oder, falls es viele Variabeln sind aus einer Ini Datei, dann bietet sich nich an nur eine HASH Variabel zu exportieren und jeweil auf die Schlüssel zu zugreifen.

Struppi.