The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

NAME
Module::Install::Template - Treat module source code as a template
SYNOPSIS
# in C<Makefile.PL>:
process_templates(
first_year => 2007,
rest_from => "$ENV{HOME}/.mitlib/standard_pod",
start_tag => '{%',
end_tag => '%}',
);
DESCRIPTION
This module, if used in the "Makefile.PL" as shown in the synopsis,
treats module source code files as templates and processes them with the
Template Toolkit during "make" time.
That is, "lib/" is expected to contain templates, and "blib/lib/" will
contain the resulting files as processed by the Template Toolkit.
This only happens on the author's side. The end-user will not notice any
of it.
This module provides one subroutine: "process_templates()". It takes
named arguments. Of these, "start_tag" and "end_tag" are treated
specially and used for the template's start and end tag definitions.
"rest_from" instructs this module to look for distribution attributes
("version", "perl_version", "author", "license", "abstract") that
haven't been set yet in the given file.
For example, you might have some standard POD template that you use in
all your modules - standard stuff like installation, availability,
author, copyright notices and so on. You could have that in the special
directory "~/.mitlib" ("mit" here stands for
'Module::Install::Template'). Because of that, the Module::Install
directive "all_from" won't work properly. With "rest_from" you can
instruct this module to take the remaining distribution attributes from
your standard template.
The Makefile had to be slightly patched so that "make dist" still works
- normally "make dist" takes files from "lib/", but here these are the
templates. We are interested in the finished files, so we override the
relevant Makefile portions to use "blib/lib/" instead.
This documentation is somewhat lacking - I'll try to improve it.
Because of the "Makefile" munging, this module might not work for
distributions that use XS or SWIG.
TAGS
If you talk about this module in blogs, on delicious.com or anywhere
else, please use the "moduleinstalltemplate" tag.
BUGS AND LIMITATIONS
No bugs have been reported.
Please report any bugs or feature requests to
"bug-module-install-template@rt.cpan.org", or through the web interface
INSTALLATION
See perlmodinstall for information and options on installing Perl
modules.
AVAILABILITY
The latest version of this module is available from the Comprehensive
Perl Archive Network (CPAN). Visit <http://www.perl.com/CPAN/> to find a
CPAN site near you. Or see
AUTHOR
Marcel Grünauer, "<marcel@cpan.org>"
COPYRIGHT AND LICENSE
Copyright 2007-2009 by Marcel Grünauer
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.