Skip to main content

Just My Type

Piers Cawley (Loafery)
Average rating: ****.
(4.33, 6 ratings)

There’s been a revolution in the way we think of types in Perl in the last few years. Not the kind of frustrating annotations of Java that seem to be more about placating the compiler than helping the programmer, but a powerful way of describing what data should look like and how to convert from one form to another.

In this talk I intend to cover different aspects of Moosish types and the different ways we use them:

  • Types for descriptions – a data structure satisfies a type.
  • Types for conversion – how to be liberal in what you expect
  • Types for error handling – how to steal good ideas from Haskell

In the examples we’ll expand configuration files into objects, go from HTTP parameters to user and session objects and from DBI urls to database handles without any of the conversion logic getting tangled in our class definitions. We’ll use parameterised types to handle errors without the overhead of throwing exceptions and we’ll finish up with cleaner code that’s easier to understand, test and extend.

We’ll be using recent Perl 5 for this code, so if you’ve not seen things like state variables and the /r substitution modifier in action in real world code, this talk will be of interest too.

Photo of Piers Cawley

Piers Cawley


Piers Cawley started programming Perl in the mid nineties, but recently spent a few years working as a Ruby programmer before returning to Perl.

He’s currently trying to escape to become a bread maker.

He’s a singer, baker and photographer.