Thread do "configfile";: Wie geht das? (7 answers)
Opened by Gast at 2006-03-01 18:59

Gast Gast
 2006-03-01 18:59
#63365 #63365
Ich möchte in meinem Programm verschiedene Einstellungen per Konfigurationsdatei einstellen. Im Perl Cookbook (http://www.oreilly.com/catalog/cookbook/chapter/ch08.html) hab ich gelesen, dass das mit "do" geht. Nun will ich folgendes machen:

my $setting = "";
do "configfile";
print $setting;

Das geht aber nicht und ich muss stattdessen

my $setting = "";
eval `cat configfile`;
print $setting;

benutzen. Im Perl Cookbook hab ich dazu folgendes gefunden:

Quote
As with a file read in using require or use, those read in using do count as a separate and unrelated lexical scope. That means the configuration file can't access its caller's lexical ( my ) variables, nor can the caller find any such variables that might have been set in the file.


Kann mir jemand erklären wie es mit "do" funktioniert? Meine aktuell benutzte Methode mit "eval" und "cat" scheint mir etwas seltsam, denn darüber lese ich im Cookbook:

Quote
We've never actually seen anyone (except Larry) use that approach in production code.

View full thread do "configfile";: Wie geht das?