my $code = sub { print "Sub 1"; }; $code = do { my $oldcode = $code; sub { $oldcode->(); print "Sub 2"; }; }; $code->();