Thread Hash-Inhalt auf Festplatte speichern
(26 answers)
Opened by der_thomas at 2013-09-21 17:43
prüf doch mal warum dein eval fehlschlägt.
Code (perl): (dl
)
1 2 3 4 open ($fh,'<','config.dat') or die $!; my $config_neu = eval <$fh>; die $@ if $@; print Dumper($config_neu); Dann siehst du: Uncaught exception from user code: Global symbol "$VAR1" requires explicit package name at (eval 2) line 1, <$fh> line 1. Missing right curly or square bracket at (eval 2) line 3, at end of line syntax error at (eval 2) line 3, at EOF at C:\Users\test\x.pl line 17, <$fh> line 1. Weil beim eval $VAR1 befüllt wird und nicht $config_neu. In config.dat steht doch: ich mache das so: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 open ($fh,'<','config.dat') or die $!; my $config_neu; { $/ = undef; # kein Zeilentrenner beim Einlesen verwenden my $s= <$fh>; # in einem Rutsch einlesen $s=~s|\$VAR1|\$config_neu|; # Zielvariable für eval setzen eval "$s"; # Code ausführen } print Dumper($config_neu); |