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

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.