Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
The Fatal module makes functions fail more spectacularly. It replaces functions that normally return false upon failure with wrappers that raise an exception if the real function returns false. That way you can safely use these functions without testing their return values explicitly on each call.
Both user-defined functions and built-in functions may be wrapped, except for those built-ins that cannot be expressed via prototypes. Attempting to override a nonoverridable built-in raises an exception. These include system, print, printf, exec, split, grep, and map—or more generally, any FUNC for which prototype "CORE::FUNC" returns false, including the prototype function itself.