mormel: Äquivalent zu JS eval?

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

  1. 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

  2. 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

  3. 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,

    and returns the deleted value

    exists $hash{$key} # returns true if the specified key exists

    in the hash.

    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

    defined (e.g. it's not an empty hash)

    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