Photo of Paul Fenwick

paul.j.fenwick

Welcome to my home on the internet! Everything here is free under the Creative Commons Attribution 3.0 license unless marked otherwise.

This site contains various pieces of writing across my various interests, and spanning several years. You can fork this site on github if you wish.

autodie release 1.10_06 - Codename chocolateboy

autodie release 1.10_06 - Codename chocolateboy
I'm very pleased to say that the next release of autodie is making its way to CPAN. The release's codename is "chocolateboy", after the wonderful author of autobox who spent many hours discussing the inner workings of pragmas, provided thousands of words of advice, and who allowed me to use him as a sounding-board when I had far too many ideas and not enough implementation.

The new version provides massive improvements in Perl 5.8 support, including:

(read more...)

autodie 1.10 beta released - It's Fatal 2.0!

autodie 1.10 beta released - It's Fatal 2.0!
After much hacking, I'm very glad to say that I've got a version of Fatal/autodie that I'm willing to foist upon the world for beta testing. It's not a release candidate, but all the important things that should work, do work (I hope).

For those who haven't seen my previous discussions, you can think of autodie as a Fatal 2.0. It provides lexical scope, exception objects, and much nicer error messages. It even lets you make system() fatal[1].

You can find the distribution at:

http://perltraining.com.au/~pjf/autodie/

It's currently not on the CPAN because I don't want innocent bystanders replacing their Fatal.pm by accident.

Currently it only works on Perl 5.10 and above. Support for 5.8 is on my TODO list.

I'm specifically after feedback on the following points:

  • Do any tests fail on your system?
  • If you use the new Fatal.pm module, does any of your existing code break? (It should be 100% backwards compatible.)
  • If you s/Fatal/autodie/; in your code, does it do what you expect? Are the error messages nicer? Are there any gotchas I've missed?

If you really want to get your hands dirty, feel free to look at the TODO file, the DESIGN.pod file, or the source code in general. Suggestions and patches are very much appreciated. If you've got a github account, I'm happy to give you commit access, or you can just fork the repository.

If you want to see my five minute talk about what this is about, see the video in my blog.

If you want to track my repository of changes, you can find them at:

http://github.com/pfenwick/autodie/tree/master

I also want to say a special thank-you to Aristotle, who has provided invaluable feedback while I've been working on the project.

Any questions, feedback, criticisms, patches, or ideas are welcome.

Many thanks,

Paul

[1] To fatalise system() you'll also need to install IPC::System::Simple.

(read more...)

Video: autodie - a lexical Fatal for Perl 5.10

Video: autodie - a lexical Fatal for Perl 5.10
Today's blog post is an adaption of a mail I just sent to perl5-porters. If you're curious about what this autodie business is that I've been talking about, here's your chance to find out. If you're reading this on my main blog you can just hit play on the widget below.

Some time ago, I started discussing the idea of autodie (previously codenamed 'lethal'), a lexical version of Fatal that could be implemented now that Perl 5.10's %^H hash does wonderful things.

Despite a small period where I was distracted by other things, I'm back to working on autodie, as I'm quite eager to get it released. To help facilitate that, I've done a couple of things:

(read more...)

Bitcoin QR code This site is ad-free, and all text, style, and code may be re-used under a Creative Commons Attribution 3.0 license. If like what I do, please consider supporting me on Patreon, or donating via Bitcoin (1P9iGHMiQwRrnZuA6USp5PNSuJrEcH411f).