1 2 3 4
...; my $substituted_text = eval("\"$text\""); die "Variable Substitiution failed: '$@'" if $@; print $substituted_text;
2014-08-21T07:18:54 RaubtierEs besteht außerdem noch die Gefahr, dass Variablen aus dem Programm, die nicht dafür gedacht sind, angezeigt zu werden, ausgegeben werden.
2014-08-21T07:18:54 RaubtierNeben meiner generellen Abneigung gegen eval($skalar) kommt noch dazu, dass man interessante Informationen doch oft gar nicht als lokale (als globale schon gar nicht!) "einfache" Variablen vorliegen hat, sondern oft befinden sich interessante Werte doch in Objekten, d.h. einzelne $var im String wären dann durch $object->method() zu ersetzen.
2014-08-21T09:12:13 clmsWieso "Gefahr"? Wenn Du die falsche Variable angibst, bekommst Du halt einen String wie "HASH(0x...)" ausgegeben.
2014-08-21T09:12:13 clms2014-08-21T07:18:54 RaubtierNeben meiner generellen Abneigung gegen eval($skalar) kommt noch dazu, dass man interessante Informationen doch oft gar nicht als lokale (als globale schon gar nicht!) "einfache" Variablen vorliegen hat, sondern oft befinden sich interessante Werte doch in Objekten, d.h. einzelne $var im String wären dann durch $object->method() zu ersetzen.
Das war nicht die Fragestellung.
1 2
my $db_variable1 = $obj->irgendwas(); my $db_variable2 = $obj2->irgendwasAnderes();
$db_variable1
$db_variable2
s///