Changes for version 0.001000 - 2023-07-04

  • [POTENTIALLY INCOMPATIBLE CHANGE] As it makes no sense to use fail() for error-signalling in non-API-level subroutines, fail() now always fails at the API level (i.e. at the level of the call stack where control leaves the current package). In other words, calling fail() in a nested subroutine within a package, fails the subroutine where we first entered the package. See the documentation for details. (Many thanks, Konrad!)
  • Removed all use of smartmatching and given/when for 5.38 compatibility

Modules

User-selectable lexically-scoped failure signaling
Special failure objects for Lexical::Failure