Siechfred: wie werden variablen evaluiert?

Beitrag lesen

Wie kommt das tatsächliche Ergebnis zustande?

Ergänzend zu den Erläuterungen des codeslayers: Willst Du Dich wirklich in den Syntax-Tree von Perl einarbeiten? Falls ja, gib mal auf der Kommandozeile ein

perl -MO=Concise -e "print $i,' ',$i++,' ',$i,' ',++$i,' ',$i"

Das erzeugt sowas:

g  <@> leave[1 ref] vKP/REFC ->(end)  
1     <0> enter ->2  
2     <;> nextstate(main 1 -e:1) v ->3  
f     <@> print vK ->g  
3        <0> pushmark s ->4  
-        <1> ex-rv2sv sK/1 ->5  
4           <#> gvsv[*i] s ->5  
5        <$> const[PV " "] s ->6  
7        <1> postinc[t3] sK/1 ->8  
-           <1> ex-rv2sv sKRM/1 ->7  
6              <#> gvsv[*i] s ->7  
8        <$> const[PV " "] s ->9  
-        <1> ex-rv2sv sK/1 ->a  
9           <#> gvsv[*i] s ->a  
a        <$> const[PV " "] s ->b  
c        <1> postinc[t6] sK/1 ->d  
-           <1> ex-rv2sv sKRM/1 ->c  
b              <#> gvsv[*i] s ->c  
d        <$> const[PV " "] s ->e  
-        <1> ex-rv2sv sK/1 ->f  
e           <#> gvsv[*i] s ->f

Erklärt sind die Abkürzungen im Abschnitt Abbrevations. Ein bisschen hübscher sieht das Ganze mit

perl -MO=Concise,-terse -e "print $i,' ',$i++,' ',$i,' ',++$i,' ',$i"

aus. Viel Spaß beim Aufdröseln ;)

Siechfred

--
Wir vom Moderatorenteam haben keinerlei Humor, von dem wir wüssten.