In your Mo module:
# This is effectively your own private Mo(ose) setup
# use Mo qw'build builder default import';
From the command line:
> mo-inline lib/MyModule/Mo.pm
> mo-inline lib/
or (if you are really lazy):
Then from another module:
use MyModule::Mo; # gets build, builder and default automatically
Mo is so small that you can easily inline it, along with any feature modules. Mo
provides a script called "mo-inline" that will do it for you.
All you need to do is comment out the line that uses Mo, and run
"mo-inline" on the file. "mo-inline" will find such
comments and do the inlining for you. It will also replace any old inlined Mo
with the latest version.
What Mo could you possibly want?
By using the Mo::import feature, all uses of your Mo class will turn on all the
features you specified. You can override it if you want, but that will be the
For real world examples of Mo inlined using "mo-inline", see YAML::Mo,
Pegex::Mo and TestML::Mo.