sub ifonce { my ( $test, $block, $else ) = @_; if ( $test->() ) { $block->(); # Perform the appropriate B magic to remove this function call from execution. } else { $else->(); } }