oose(3)

NAME
oose - syntactic sugar to make Moose one-liners easier

VERSION
version 2.0602

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) 2012 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.