.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "pptemplate 3pm" .TH pptemplate 3pm "2023-06-17" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" pptemplate \- script to generate Makefile.PL and PP file skeleton .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& # generate Makefile.PL and mymodule.pd in CWD \& pptemplate PDL::MyModule; .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fBpptemplate\fR script is the easiest way to start a new module for \s-1PDL\s0 that contains \s-1PP\s0 code (see also \s-1PDL::PP\s0). The usage is simply .PP .Vb 1 \& pptemplate modulename; .Ve .PP As a result pptemplate will generate a perl Makefile for the new module (\fIMakefile.PL\fR) that contains the minimal structure to generate a module from \s-1PP\s0 code and also a skeleton file for your new module. .PP The file will be called \fImymod.pd\fR if you called \f(CW\*(C`pptemplate\*(C'\fR as .PP .Vb 1 \& pptemplate PDL::CleverAlgs::Mymod; .Ve .PP I suppose you can work out the naming rule \f(CW\*(C`;)\*(C'\fR. If not resort to experimentation or the source code. .PP \&\f(CW\*(C`pptemplate\*(C'\fR 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. .SS "Options" .IX Subsection "Options" Currently there is only the \f(CW\*(C`\-i\*(C'\fR option which switches \f(CW\*(C`pptemplate\*(C'\fR into the so called \fIinternal mode\fR. It should only be used when you are starting a new module within the main \s-1PDL\s0 tree that is supposed to be part of the \s-1PDL\s0 distribution and the normal \s-1PDL\s0 build process, e.g. .PP .Vb 3 \& cd PDL/IO; \& mkdir Mpthree; cd Mpthree; \& pptemplate \-i PDL::IO::Mpthree; .Ve .SH "BUGS" .IX Header "BUGS" Maybe \f(CW\*(C`;)\*(C'\fR. Feedback and bug reports are welcome. .SH "COPYRIGHT" .IX Header "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 \s-1PDL\s0 itself (see ).