[%#
    Perl Module Builder Configuration
    Parameters:
        * module (Str) - The name of the module to be built
        * file (Str) - The main module file name (based on module if not specified)
        * package (Str) - The name of the perl package (uses module if not specified)
        * moose (Bool) - Make the module be a Moose module
        * moo (Bool) - Make the module be a Moo module
        * bin (Bool | Str) - Add a script to the bin directory (If not a string the script is based on the package name)
        * readme ('pod', 'md') - Create the README file as a POD or Markdown rather than plain txt file
        * travis (Bool) - Create a .travis.yml config file
%]
[% module = module || 'module' -%]
[% file   = module -%]
[% IF file.match('::') -%]
[%     file = file.replace('::', '/') -%]
[% END -%]
[% file = file _ '.pm' -%]
[% package  = module -%]
[% IF package.match('::') -%]
[%     package = package.replace('::', '-') -%]
[% END -%]
[%- IF bin == 1;
        bin = package.lower;
    END;
%]
---
[% package %]/lib/[% file %]:
    template: perl/package.pm
    arg:
    module: [% module %]
[% package %]/t/00-load.t:
    template: perl/test/00-load.t
    module: [% module %]
[% package %]/t/boilerplate.t:
    template: perl/test/boilerplate.t
    module: [% module %]
    file: lib/[% file %]
[% package %]/t/critic.t:
    template: perl/test/critic.t
    module: [% module %]
[% package %]/t/perlcriticrc:
    template: blank
[% package %]/t/kwalitee.t:
    template: perl/test/kwalitee.t
    module: [% module %]
[% package %]/t/manifest.t:
    template: perl/test/manifest.t
    module: [% module %]
[% package %]/t/pod-coverage.t:
    template: perl/test/pod-coverage.t
    module: [% module %]
[% package %]/t/pod.t:
    template: perl/test/pod.t
    module: [% module %]
[% package %]/t/spelling.t:
    template: perl/test/spelling.t
    module: [% module %]
[% package %]/Build.PL:
    template: perl/package/Build.PL
    module: [% module %]
[% package %]/Changes:
    template: perl/package/Changes
    module: [% module %]
[% package %]/LICENSE:
    template: perl/package/LICENSE
    module: [% module %]
[% package %]/MANIFEST:
    template: perl/package/MANIFEST
    module: [% module %]
[% package %]/MANIFEST.SKIP:
    template: perl/package/MANIFEST.SKIP
    module: [% module %]
[% package %]/README[% readme && '.' _ readme %]:
    template: perl/package/README[% readme && '.' _ readme %]
    module: [% module %]
[% package %]/.gitignore:
    template: git/ignore
    package: [% package %]
[%- IF travis %]
[% package %]/.travis.yml:
    template: perl/travis.yml
[%- END %]
[%- IF bin %]
[% package %]/bin/[% bin %]:
    template: perl.pl
    module: [% module %]
[% END %]
