PPTEMPLATE(1p)

πŸ’… NAME πŸ’…

okay so pptemplate β€” it's a script that generates a Makefile.PL and a PP file skeleton, bestie. that's literally its whole job and it slays at it ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

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

🌸 DESCRIPTION 🌸

so if you're starting a brand new PDL module that's got PP code in it, pptemplate is the easiest way to get going β€” no cap. (also go peek at PDL::PP while you're at it, iykyk 🫢)

the usage is genuinely just this:

  pptemplate modulename;

and boom πŸ’₯ pptemplate will spit out the usual directory structure you'd expect for a CPAN module. so if you ran it like this:

  pptemplate PDL::CleverAlgs::Mymod;

then bestie, here's what you'd get β€” files AND directories, the whole vibe:

  PDL-CleverAlgs-Mymod
  |-- lib
  |   |-- PDL
  |       |-- CleverAlgs
  |           |-- MyMod.pd
  |-- t
  |   |-- basic.t
  |-- Makefile.PL
  |   MANIFEST
  |   MANIFEST.SKIP
  |   .gitignore

now: go adapt MyMod.pd to your needs πŸŽ€ and then you build and test the module like you normally would. from inside the PDL-CleverAlgs-Mymod directory:

   $ perl Makefile.pl   # To create a Makefile
   $ make               # Build the module in blib
   $ make test          # Run the tests
   $ prove -vb          # ...or run the tests with prove
⚠️ heads up, queen: pptemplate will stop if the directory it's about to create already exists. that's on purpose β€” it's avoiding accidents, bestie. if you truly want to scrap the thing, move it out of the way yourself first. it's not gonna do it for you πŸ™ˆ

and about the trio MANIFEST, MANIFEST.SKIP and .gitignore β€” those are the bookkeeping girlies πŸ“š they make sure that temporary files created by building the module don't end up in a git repository or in a CPAN distribution. iconic behaviour honestly ✨

okay, lore time 🌈 as of 2.096, the "internal mode" of this script has been removed, and instead it creates the files using the new "deep mode". why? because the earlier practice of incorporating vast numbers of modules into the main PDL distribution has been rethought πŸ’€ due to all the problems it causes. so like β€” use this script to make it easy to create new CPAN-distributed PDL modules. that's the moment, that's the move, periodt πŸ‘‘


πŸ› BUGS πŸ›

feedback and bug reports are welcome! pls, we want them πŸ’–


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>).


that's a wrap, bestie 🫢 this page is from perl v5.42.3, dated 2026-08-20, and you found it under PPTEMPLATE(1p) β€” go make something cute with it πŸ’œπŸ§š

πŸ“¦ where this page comes from