use 5.010;
sub f {
my $x = shift;
sub () { $x }
}
say f(1);
say f(2);
__END__
CODE(0x18cede8)
CODE(0x18cede8)
####
use 5.010;
sub f {
my $x = shift;
sub () { $x }
}
say my $x = f(1);
say f(2);
__END__
CODE(0x1d5cde8)
CODE(0x1d5cf98)
####
perl -MO=Concise,f -e 'sub f { my $x = shift; sub () { $x } };'
main::f:
9 <1> leavesub[1 ref] K/REFC,1 ->(end)
- <@> lineseq KP ->9
1 <;> nextstate(main 1 -e:1) v ->2
4 <2> sassign vKS/2 ->5
2 <0> shift s* ->3
3 <0> padsv[$x:1,3] sRM*/LVINTRO ->4
5 <;> nextstate(main 3 -e:1) v ->6
8 <1> refgen K/1 ->9
- <1> ex-list lKRM ->8
6 <0> pushmark sRM ->7
7 <$> anoncode[CV ""] lRM ->8
-e syntax OK