Das ist ein sehr unsauberer Stil, da Du damit allen weiteren Programmen diese Variablennamen "verbietest"...Es geht so:
package GlobalVars;require Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw($testvar);
our $testvar = 'hallo';
1;
Skript:
#! /usr/bin/perluse strict;
use warnings;
use lib qw(.);
use GlobalVars;
print $testvar,"\n";
Besser ist es so:Modul:
package GlobalVars;require Exporter;
our @ISA = qw(Exporter);
our @EXPORT_OK = qw($testvar);
our $testvar = 'hallo';
1;
Skript
#! /usr/bin/perluse strict;
use warnings;
use lib qw(.);
use GlobalVars qw($testvar);
print $testvar,"\n";
Der Unterschied besteht darin, dass der Programmierer explizit sagen muss, welche Variablen er importieren will. Deswegen die Variable in @EXPORT_OK und im Skript dann in den Klammern die zu importierenden Variablen nennen. So hält man den Namensraum "sauber"...
Datum: 11.05.2005-14:30
