NAME

Module::New::File

SYNOPSIS

package Your::Module::New::File::Something;
use Module::New::File;

file '{MAINFILE}' => content { return <<'TEMPLATE';
# following is a Mojo-like template for a module.
package <%= $c->module %>;
use strict;
use warnings;
sub new { bless {}, shift; }
1;
TEMPLATE
};

FUNCTIONS TO DEFINE FILES

file

specifies the relative path of a file to create. {MAINFILE} becomes lib/Path/To/Module.pm you specified as a command line argument, and {MAINDIR} becomes lib/Path/To/Module.

content

just a syntax sugar of sub { }. The subroutine takes a context object, and should return a scalar text. Of course you can freely use template engines (you might want to extend the context to hold a template engine object to reuse). As of 0.02, Module::New uses Text::MicroTemplate, a fork of Mojo::Template by default.

AUTHOR

Kenichi Ishigaki, <ishigaki@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2007-2009 by Kenichi Ishigaki.

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