in reply to How to return an appropriate error from module?

One easy way is to return false if the number is correct and a reason (either a string, or a number - the latter has the advantage of defining error strings later - perhaps localized) if the phone number is invalid.

Or you could return an object that is overloaded so if the phone number is valid, the object is true in boolean context, and if the phone number is invalid, the object is false in boolean context, and gives the reason in string context.

But dying works as well. The caller should catch all calls though, which makes you do more work if only you're interested in valid/not-valid and don't really care about the reason.

Many options to choose from. None is "the best".

  • Comment on Re: How to return an appropriate error from module?