
Monkey patching is a way to extend or modify the runtime code of a program or library without altering the original source code.
monkey::patch::action is based on monkey::patch and provides lexical scope monkey-patching so that you can wrap any other package's subroutine with your own code. it makes things even easier by helping you apply a stack of patches and unapply them later in flexible order.