Frank Schönmann: Probleme mit require und Variablen-Definition

Beitrag lesen

hi!

Jetzt funktioniert es zwar, aber ich wüsste doch zu gerne, wie ich
vorgehen muss, damit ich im Hauptscript wieder "use strict;"
einsetzen kann.

Dazu musst du den Namensbereich angeben, in dem sich die Variablen
befinden, auf die du zugreifen willst. Um das ganze etwas sauberer
zu machen, würde ich dir außerdem empfehlen, Module zu verwenden.
Ein einfaches Beispiel:

=== cut: test.pl ===
#!/usr/bin/perl

use strict;
use MyOwnModule;

print MyOwnModule::$modvar;
=== cut ===

=== cut: MyOwnModule.pm ===
package MyOwnModule;

my $modvar = "irgendwas";

1;
=== cut ===

Durch den :: kannst du also für eine Variable den Namensbereich
angeben, in dem sie vorkommt. Die 1; am Ende des Moduls braucht man,
damit das Modul einen wahren Rückgabewert hat.

bye, Frank!