Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • My good man, you want Exception::Class [] and an evening spent together with Chapter 13 of PBP.
  • Like the other said, use die.

    Also, consider using Try::Tiny to replace eval. It's a very small, VERY helpful tweak to how eval works.

    I have seen exactly one library on the CPAN that uses the "return undef and set $@" pattern. It is bizarre and annoying, and not like anything else. When I mentioned it to a coworker, he sputtered and said something like, "WHY WOULD THEY DO THAT???"

    Don't be that guy!

  • ... and is all just a question of the API.

    No single argument against using $@ is really addressing this important
    point. Most alternatives are just eval flavors, which in turn return an
    undefined value and set $@, so i don't count those as different.

    Others provide new features, come with overhead but solve no new problem.

    But in the end we're just talking about different error handling APIs...
    and i like the Perl builtin way too :-).