BTW, one should generally also local'ize $@ in any code, at least like in:
sub DESTROY {
...
local $@;
eval {
...
};
if ($@)
}
eval in destructors is particularly nasty, since those without
'local' wipe out $@ without giving you any chance to look at the
error (short of abusing
This makes "SAWA::Error=HASH(0xdeadbeaf)" error messages go away:
--- SAWA-0.79/lib/SAWA/Machine.pm~ 2004-08-27 13:15:37.0 +0200
+++ SAWA-0.79/lib/SAWA/Machine.pm 2004-09-08 18:24:42.0 +0200
@@ -120,7 +120,8 @@
if ( $@ ) {
eval "require $handler;";