Olli: Im Fehlerfall mail an mich mit allen Variablen

Beitrag lesen

Das ergibt erst 'foo' und dann 42. Welchen Wert soll Perl denn nun aber in der Symboltabelle speichern?

Er muss doch beide Werte irgendwo haben. Den im Block zumindest solange er im Block ist.

Ich habe in meinem jugendlichen Leichtsinn gedacht, wenn ich an einer bestimmten Stelle im Programm eine 'Momentaufnahme' will, so werden die Variablen angezeigt, die zu diesem Zeitpunkt an der Stelle bekannt sind. D.h. wenn der 'DUMP' in dem obigen Block abgesetzt wird, könnte angezeigt werden:

main: $a = "42";
       ....
  block1: $a = "foo";    (ganz gleich wie der Block intern bezeichnet wird).
Die Information muss dem System ja bekannt sein, denn
wenn ich habe
my $v="1"; ...
  {my v1="2";...
     {my v1="3";...
        {my v1="4";.......
        }
     }
  }
und aus dem innersten Block schrittweise in den umfassenden Block zurückkomme hat er ja wieder den Wert dieses übergeordneten Blocks.
Die Frage ist wohl nur, wie man es darstellen könnte.
Aber das ist wohl Wunschdenken!

Mal ne ganz andere Frage:
Immer wieder sehe ich als Wertzuweisung 'foo'. Hat dies eine besondere Bedeutung ?
Gruß
Oliver