There’s much to update in Chapter 12, “Error Handling”. I thought this would be an easy chapter.
Since v5.10, Fatal is different and now called autodie. I mostly had to change the module names. The biggest change was removing the non-void non-handling of builtins that Fatal could do. If Fatal saw I checked the return value of a builtin myself, it doesn’t throw the exception for me. I excised that paragraph.
In v5.14 the behavior of
$@ changes quite a bit. An
eval inside a destructor won’t mess up
$@ as the scope is cleaning up.
Do you have anything else I should include or update? See what I have so far by reading it through Atlas.