Alle bekannten Variablen anlisten
Diettrich
- perl
Guten Abend,
Wie kann man an beliebiger Stelle im Programm alle dort gültigen Variablen mit Inhalt anlisten bzw. in die LOG-Datei ausgeben ?
Hell-O!
Wie kann man an beliebiger Stelle im Programm alle dort gültigen Variablen mit Inhalt anlisten bzw. in die LOG-Datei ausgeben ?
Perl speichert Variablen in einer Symboltabelle für den jeweiligen Namensraum. Zugriff auf alle Einträge dieser Symboltabelle erhältst du über den Hash '%package_name::'. Willst du also alle in der Symboltabelle definierten Variablen wissen, lasse dir alle Schlüssel des o.g. Hashs ausgeben, also z.B. so:
foreach $wert (keys %main::) {
print scalar($v);
}
Etwas komfortabler scheint es mit dem CPAN-Modul Devel::Symdump zu funktionieren.
Siechfred
Hell-O Ingrid!
foreach $wert (keys %main::) {
print scalar($v);
}
Korrektur: $v muss natürlich $wert heißen.
Wenn du zu den Variablen auch den Wert möchtest, bediene dich [Symbolischer Referenzen](http://perldoc.perl.org/perlref.html#Symbolic-references-reference%2c-symbolic-reference%2c-soft-symbolic-reference-soft-reference).
Ausführliches Beispiel:
~~~perl
package Test;
$test_var1 = 'foo';
$test_var2 = 'bar';
package main;
foreach $wert (keys %Test::) {
print scalar($wert) . ' = ' . ${"Test::$wert"} . "\n";
}
So, jetzt gehe ich Kaffee trinken :-)
Siechfred
Hell-O Ingrid!
ich bin zwar nicht die Ingrid, habe auch keine Ambitionen es (sie) zu werden,
aber angesichts der starken Hilfe sei Dir verziehen !
Danke
Hell-O Ingrid!
ich bin zwar nicht die Ingrid, habe auch keine Ambitionen es (sie) zu werden,
aber angesichts der starken Hilfe sei Dir verziehen !
Er meinte auch gar nicht dich
http://de.wikipedia.org/wiki/Netzjargon#Besondere_Ausdr.C3.BCcke
Struppi.
Er meinte auch gar nicht dich
http://de.wikipedia.org/wiki/Netzjargon#Besondere_Ausdr.C3.BCckeStruppi.
Au weh, das musste ich aber nicht wissen, oder ?