---
name: "Module::Starter::Plugin::Template"
section: "3pm"
platform: "linux"
package: "libmodule-starter-perl"
version: "1.770+dfsg-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Module::Starter::Plugin::Template"
---

# Module::Starter::Plugin::Template(3pm)

module starter with templates

## NAME

Module::Starter::Plugin::Template - module starter with templates

## VERSION

version 1.77

## SYNOPSIS

```
 use Module::Starter qw(
   Module::Starter::Simple
   Module::Starter::Plugin::Template
 );
 Module::Starter->create_distro(%args);
```

## DESCRIPTION

This plugin is designed to be added to a Module::Starter::Simple-compatible Module::Starter class.  It adds stub methods for template retrieval and rendering, and it replaces all of Simple's \_guts methods with methods that will retrieve and render the appropriate templates.

## CLASS METHODS

### "new(%args)"

This plugin calls the `"new"` supermethod and then initializes the template store and renderer.  (See `"templates"` and `"renderer"` below.)

## OBJECT METHODS

### "templates()"

This method is used to initialize the template store on the Module::Starter object.  It returns a hash of templates; each key is a filename and each value is the body of the template.  The filename *Module.pm* is used for the module template.

### "renderer()"

This method is used to initialize the template renderer.  Its result is stored in the object's `"renderer"` entry.  The implementation will determine its use.

### "render($template, \\%options)"

The `"render"` method will render the template passed to it, using the data in the Module::Starter object and in the hash of passed parameters.

### \_guts methods

All of the `"FILE_guts"` methods from Module::Starter::Simple are subclassed to look something like this:

```
    sub file_guts {
        my $self = shift;
        my %options;
        @options{qw(first second third)} = @_;
        my $template = $self->{templates}{filename};
        $self->render($template, \%options);
    }
```

These methods will need to be rewritten when (as is likely) Module::Starter::Simple's \_guts methods are refactored into a registry.

- module\_guts

  - Makefile\_PL\_guts

  - MI\_Makefile\_PL\_guts

  - Build\_PL\_guts

  - Changes\_guts

  - README\_guts

  - t\_guts

  - MANIFEST\_guts

  - ignores\_guts

  ## AUTHOR

Ricardo SIGNES, `"<rjbs at cpan.org>"`

## Bugs

Please report any bugs or feature requests to the bugtracker for this project on GitHub at: \<https://github.com/xsawyerx/module-starter/issues\>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

## COPYRIGHT

Copyright 2005-2007 Ricardo SIGNES, All Rights Reserved.

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