print "Hello World"; #### stevan% perl -MO=Concise test.pl 6 <@> leave[1 ref] vKP/REFC ->(end) 1 <0> enter ->2 2 <;> nextstate(main 1 test.pl:3) v ->3 5 <@> print vK ->6 3 <0> pushmark s ->4 4 <$> const[PV "Hello World"] s ->5 #### if (shift) { print "Hello World"; } else { print "Goodbye World"; } #### a <@> leave[1 ref] vKP/REFC ->(end) 1 <0> enter ->2 2 <;> nextstate(main 4 test.pl:3) v ->3 - <1> null vK/1 ->a 6 <|> cond_expr(other->7) vK/1 ->b 5 <1> shift sK/1 ->6 4 <1> rv2av[t2] sKRM/1 ->5 3 <#> gv[*ARGV] s ->4 - <@> scope vK ->- - <0> ex-nextstate v ->7 9 <@> print vK ->a 7 <0> pushmark s ->8 8 <$> const[PV "Hello World"] s ->9 g <@> leave vKP ->a b <0> enter v ->c c <;> nextstate(main 2 test.pl:7) v ->d f <@> print vK ->g d <0> pushmark s ->e e <$> const[PV "Goodbye World"] s ->f #### sub start { print test(); return "Goodbye World"; } sub test { return "Hello world" } print start(); #### perl -MO=Concise,-main,start,test test.pl main::start: b <1> leavesub[1 ref] K/REFC,1 ->(end) - <@> lineseq KP ->b 1 <;> nextstate(main 1 test.pl:5) v ->2 6 <@> print vK ->7 2 <0> pushmark s ->3 5 <1> entersub[t2] lKS/TARG,1 ->6 - <1> ex-list lK ->5 3 <0> pushmark s ->4 - <1> ex-rv2cv sK/1 ->- 4 <#> gv[*test] s/EARLYCV ->5 7 <;> nextstate(main 1 test.pl:6) v ->8 a <@> return K ->b 8 <0> pushmark s ->9 9 <$> const[PV "Goodbye World"] s ->a main::test: g <1> leavesub[1 ref] K/REFC,1 ->(end) - <@> lineseq KP ->g c <;> nextstate(main 2 test.pl:10) v ->d f <@> return K ->g d <0> pushmark s ->e e <$> const[PV "Hello world"] s ->f main program: o <@> leave[1 ref] vKP/REFC ->(end) h <0> enter ->i i <;> nextstate(main 3 test.pl:14) v ->j n <@> print vK ->o j <0> pushmark s ->k m <1> entersub[t2] lKS/TARG,1 ->n - <1> ex-list lK ->m k <0> pushmark s ->l - <1> ex-rv2cv sK/1 ->- l <#> gv[*start] s ->m