"Minor issue: finding the classname (e.g. ref($ret)) is part of deciding if sub returned an error, for example when sub normally returns a blessed object instead of unblessed ref (as in my example)."
Sorry, but I don't understand this.
My code using blessed clearly distinguished "Error" from "Success".
Your line:
die "@$ret" if ref($ret) eq 'YouveGotError';
could be rewritten as:
die "@$ret" if $err eq 'YouveGotError';
If I change 'blessed $ret' in my code, to 'ref $ret', the output becomes:
Run: 1
Error "ARRAY" detected
Code: 42
Errstr: 43
Run: 2
Error "YouveGotError" detected
Code: 0
Errstr: error was ...
which, I'm pretty sure, is not what you want.
I suspect we may be talking at cross-purposes, or there's some other misunderstanding;
however, I've looked back over our posts, and can't see what the problem might be.
"apropos the edits: ..."
No need to apologise.
I just wanted to make it clear what I was responding to.
There was no intended rebuke or other negativity.
|