perl -le 'use strict; my $foo = 1; $foo ? \&{print "foo"} : \&{ print "bar"};'
foo
####
perl -MO=Concise,-exec -le '$foo = 1; $foo ? \&{print "foo"} : \&{ print "bar"};'
1 <0> enter
2 <;> nextstate(main 1 -e:1) v
3 <$> const[IV 1] s
4 <#> gvsv[*foo] s
5 <2> sassign vKS/2
6 <;> nextstate(main 3 -e:1) v
7 <#> gvsv[*foo] s
8 <|> cond_expr(other->9) vK/1
9 <0> pushmark sRM
a <0> pushmark s
b <$> const[PV "foo"] s
c <@> print sK
d <1> rv2cv[t3] lKRM/AMPER,33 <---- here
e <1> refgen vK/1
goto f
g <0> pushmark sRM
h <0> pushmark s
i <$> const[PV "bar"] s
j <@> print sK
k <1> rv2cv[t4] lKRM/AMPER,33 <---- and here
l <1> refgen vK/1
f <@> leave[1 ref] vKP/REFC
-e syntax OK
####
perl -le 'use strict; my $foo = \&{ print "bar"}; $foo'