#! perl use strict; use warnings; use v5.14; make_adder(20); say inner(10); make_adder(25); say inner(10); sub make_adder { my $addpiece = shift; print "\$addpiece = $addpiece\n"; *inner = sub { return shift() + $addpiece; }; } #### 13:02 >perl 1102_SoPW.pl $addpiece = 20 30 $addpiece = 25 Subroutine main::inner redefined at 1102_SoPW.pl line 15. 35 13:02 >