---
name: "PDL::pptemplate"
section: "3pm"
platform: "linux"
package: "pdl"
version: "1:2.081-2"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/PDL::pptemplate"
---

# PDL::pptemplate(3pm)

script to generate Makefile.PL and PP file skeleton

## NAME

pptemplate - script to generate Makefile.PL and PP file skeleton

## SYNOPSIS

```
        # generate Makefile.PL and mymodule.pd in CWD
        pptemplate PDL::MyModule;
```

## DESCRIPTION

The **pptemplate** script is the easiest way to start a new module for PDL that contains PP code (see also PDL::PP). The usage is simply

```
  pptemplate modulename;
```

As a result pptemplate will generate a perl Makefile for the new module (*Makefile.PL*) that contains the minimal structure to generate a module from PP code and also a skeleton file for your new module.

The file will be called *mymod.pd* if you called `"pptemplate"` as

```
  pptemplate PDL::CleverAlgs::Mymod;
```

I suppose you can work out the naming rule `";)"`. If not resort to experimentation or the source code.

`"pptemplate"` will refuse to overwrite existing files of the same name to avoid accidents. Move them out of the way if you really want to scrap them.

### Options

Currently there is only the `"-i"` option which switches `"pptemplate"` into the so called *internal mode*.  It should only be used when you are starting a new module within the main PDL tree that is supposed to be part of the PDL distribution and the normal PDL build process, e.g.

```
   cd PDL/IO;
   mkdir Mpthree; cd Mpthree;
   pptemplate -i PDL::IO::Mpthree;
```

## BUGS

Maybe `";)"`. Feedback and bug reports are welcome.

## COPYRIGHT

Copyright (c) 2001, Christian Soeller. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as PDL itself (see \<http://pdl.perl.org\>).
