Hole den Variablennamen als String in Perl

8

Ich versuche eine Textdarstellung des Namens einer Variablen zu erhalten. Zum Beispiel würde dies die Funktion sein, die ich suche:

%Vor%

Ich möchte das, weil ich versuche, eine Debug-Funktion zu schreiben, die rekursiv den Inhalt einer übergebenen Variable ausgibt. Ich möchte, dass sie den Namen der Variable vor der Hand ausgibt, also wenn ich diese Debug-Funktion 100 Mal hintereinander aufrufe, wird es keine geben Verwirrung darüber, welche Variable ich in der Ausgabe betrachte.

Ich habe von Data :: Dumper gehört und bin kein Fan. Wenn mir jemand sagen kann, wie es geht, wenn es möglich ist, eine Zeichenfolge aus dem Namen einer Variablen zu erhalten, wäre das großartig.

Danke!

    
Jose Cuervo 04.03.2011, 22:11
quelle

3 Antworten

8
toolic 05.03.2011 00:14
quelle
6

Um dies zu tun, müssen Sie das Modul PadWalker verwenden, mit dem Sie die lexikalischen Blöcke untersuchen können, die Variablen speichern.

%Vor%

und dann um es zu benutzen:

%Vor%

was druckt:

%Vor%

BEARBEITEN:

Hier ist die gleiche Funktionalität, ein bisschen umgestaltet:

%Vor%     
Eric Strom 05.03.2011 00:36
quelle
-2

"Meine" (lexikalischen) Variablennamen werden gelöscht, so dass Sie ihre Namen nicht erhalten können. Die Namen der Packungsvariablen stehen über den Symboltabelleneintrag ( *var ) zur Verfügung, wie bereits im Artikel erwähnt.

    
geekosaur 04.03.2011 23:36
quelle

Tags und Links