The output for me made it look like they all bugged out. Notice they all have the same message and line number.eval is hiding a warning from us now with die replacing the number one and this is "just another bug".
Caught with Splacker: inside at C:\xampp\cgi-bin\Test\index.cgi line 2
+3.
Caught with $@: inside at C:\xampp\cgi-bin\Test\index.cgi line 23.
Caught with or: inside at C:\xampp\cgi-bin\Test\index.cgi line 23.
Caught with Try::Tiny: inside at C:\xampp\cgi-bin\Test\index.cgi line
+23.
5.008008
To catch the hidden error by using the code below, it will work with AND WITHOUT! warnings on...
"in cleanup" warnings generated from destructor errors are no longer enabled by "use warnings"
$SIG{ __WARN__} = sub { exit 1 if $_[0] =~ /in cleanup/ };