use B::Deparse; my $sr = sub { print "Hello\n" }; $sr->(); my $code = B::Deparse->new->coderef2text($sr); $code =~ s/print \s\S+/die "Bye";/; $sr = eval "sub $code"; $sr->();