NAME¶
oose - syntactic sugar to make Moose one-liners easier
VERSION¶
version 2.0603
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.