Variable aus String extrahieren und nutzen

Von: , Frage gestellt am Fr, 24. Sep 2004

Hallo,

ich will eine Metadatebank anlegen, in der alle Variablen und Funktionen die ich in meinen Skripten öfters nutze enthalten sind.
Diese Variablen und Funktionen sollen auch anderen zur Verfügung stehen. Deshalb will ich es nur an einer Stelle pflegen müssen.

Mein Problem ist jetzt, wenn ich aus der Datebank eine Variable auslese, zb. $Gebjahr = 1976, dann habe ich das ganze zunächst als
String: "$Gebjahr = 1976" Wie kann ich es jetzt als Variable in meinen Skripten nutzen und darauf zugreifen? Also das $Gebjahr
in meinem Skript dann definiert ist.

Gibt es dazu eine Möglichkeit?
Vielen Dank
Öner

2 Antworten zu dieser Frage

  1. Antwort von nach 3 Stunden 0 hilfreich
    Re: Variable aus String extrahieren und nutzen

    Hallo,

    die einfachste Möglichkeit ist ein Hash:

    my %vars;
    ...
    $vars{"GebJahr"} = $wert;
    


    das ist zwar nicht ganz das was du suchst aber meines Erachtens die sauberste Lösung.

    HTH,
    Moritz

  2. Antwort von nach 4 Tagen 0 hilfreich
    Re: Variable aus String extrahieren und nutzen

    Wenn ich dich richtig verstanden habe, hats du zur laufzeit
    '$foo = 7;'
    in der Variable $bla stehen und
    willst dass das ausgefuehrt wird

    Dann musst du

    eval{
    $foo
    };

    schreiben und flutsch hat $foo den wert 7
    aber wenn du mit 'use strict' arbeitest, musst du
    natuerlich zuerst noch 'my $foo' irgendwo haben...

    musst hald zuerst alle Variablennnamen
    aus den strings extrahieren und dann ein my davor
    und wieder eval.

    Frag mich aber nicht wie das mit der Klammerung oder
    den anfuehrungszeichen in eval funktioniert,
    daran bin ich auch schon oft gescheitert...

    Levi [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!