Äquivalent zu JS eval?
mormel
- perl
0 Cheatah0 AlexBausW0 Matthias Huttar
Hi!
Gibt es in Perl eine funktion vergleichbar mit eval in JS? Ich möchte nämlich auf eine Variable mit dem Namen des Wertes einer anderen zugreifen, also etwa so:
$var1 = "text";
$c_.$var1 = "blabla"; # soll dann $c_text heißen
Ich hoffe, ich hab mich verständlich ausgedrückt.
Bye mormel
Hi,
Ich möchte nämlich auf eine Variable mit dem Namen des Wertes einer anderen zugreifen,
nein, das möchtest Du nicht. Du weißt es nur nicht :-)
$c_.$var1 = "blabla"; # soll dann $c_text heißen
my %generierte_werte;
$generierte_werte{$c.$var1} = 'blabla';
Cheatah
Hallo mormel,
Gibt es in Perl eine funktion vergleichbar mit eval in JS? Ich möchte nämlich auf eine Variable mit dem Namen des Wertes einer anderen zugreifen, also etwa so:
Dies Frage läßt imho den Schluß zu, daß Du Dich noch nicht mit Perl beschäftigt hast. Die Dokumentation zu Perl liegt bei korrekter Installation auf Deiner Festplatte, oder ist in Netz unter http://www.perldoc.org/ erreichbar.
Imho empfiehlt sich die Lektüre folgender Abschnitte:
perldoc perl
perldoc perlsyn
perldoc perldata
perldoc perlop
perldoc perlfunc
perldoc perlre
.
.
.
Nun zur Antwort: (als Gegenfrage formuliert ;-) Wie wäre es eval() auszuprobieren? Wie es geht, steht in 'perldoc -f eval'.
Gruß Alex
Hallo
Es gibt etwas ähnliches, sog. Hashes (Assoziative Arrays), wo du statt einem Index eine Bezeichnung für jeden wert hast.
Definierst du in etwa wie folgt:
%hash=("Begrüssung"=>"Hallo", "Verabschiedung"=>"Tschüss", "Frage"=>"Wie geht es dir");
Der erste Eintrag (Begrüssung, Verabschiedung,...) sind sog. "keys", die anderen einträge sind die Values..
zugreifen kannst du mit einem key auf ein value folgendermassen: $array{'Frage'}. Achte auf die Geschwungenen klammern... (es sind keine normalen klammern, sonst kriegst du nen error)
noch ein kleines Anwendungsbeispiel: print "$array{'Frage'}"; gibt "Wie geht es dir" aus...
so jetzt noch ein paar HASH Funktionen (sind aus nem englischen tutorial rauskopiert...)
delete $hash{$key} # deletes the specified key/value pair,
exists $hash{$key} # returns true if the specified key exists
keys %hash # returns a list of keys for that hash
values %hash # returns a list of values for that hash
scalar %hash # returns true if the hash has elements
ein gutes tutorial bekommst du (glaub ich) bei www.cgi101.com im PDF Format...
na gut...
Mfg
Matthias Huttar
Hi!
Gibt es in Perl eine funktion vergleichbar mit eval in JS? Ich möchte nämlich auf eine Variable mit dem Namen des Wertes einer anderen zugreifen, also etwa so:
$var1 = "text";
$c_.$var1 = "blabla"; # soll dann $c_text heißen
Ich hoffe, ich hab mich verständlich ausgedrückt.
Bye mormel