The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

oose - syntactic sugar to make Moose one-liners easier

VERSION

version 2.1000

SYNOPSIS

  # create a Moose class on the fly ...
  perl -Moose=Foo -e 'has bar => ( is=>q[ro], default => q[baz] ); print Foo->new->bar' # prints baz

  # loads an existing class (Moose or non-Moose)
  # and re-"opens" the package definition to make
  # debugging/introspection easier
  perl -Moose=+My::Class -e 'print join ", " => __PACKAGE__->meta->get_method_list'

  # also loads Moose::Util::TypeConstraints to allow subtypes etc
  perl -Moose=Person -e'subtype q[ValidAge] => as q[Int] => where { $_ > 0 && $_ < 78 }; has => age ( isa => q[ValidAge], is => q[ro]); Person->new(age => 90)'

DESCRIPTION

oose.pm is a simple source filter that adds package $name; use Moose; use Moose::Util::TypeConstraints; to the beginning of your script and was entirely created because typing perl -e'package Foo; use Moose; ...' was annoying me.

INTERFACE

oose provides exactly one method and it's automatically called by perl:

import($package)

Pass a package name to import to be used by the source filter. The package defaults to Class if none is given.

DEPENDENCIES

You will need Filter::Simple and eventually Moose

INCOMPATIBILITIES

None reported. But it is a source filter and might have issues there.

BUGS

See "BUGS" in Moose for details on reporting bugs.

AUTHOR

Moose is maintained by the Moose Cabal, along with the help of many contributors. See "CABAL" in Moose and "CONTRIBUTORS" in Moose for details.

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Infinity Interactive, Inc..

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.