|
ExtUtils::configPL - Perl extension to automagiclly configure perl scripts |
ExtUtils::configPL - Perl extension to automagiclly configure perl scripts
use ExtUtils::configPL; <<--startperl-->> -w ...
no ExtUtils::configPL;
...
This module is used to add configuration information to a perl script, and
is meant to be used with the ExtUtils::MakeMaker module.
ExtUtils::configPL is not a ``normal'' Perl extension. It does add or
encapsulate functionality to your script, but it filters the script,
replacing tags with items from the Config module, writing the resulting
script to a new file.
The normal use for this module is to add the ``shebang'' line as the first line of a script.
use ExtUtils::ConfigPL;
<<--startperl-->> -w
would be replaced with:
#/usr/local/bin/perl -w
(or where ever your perl executable is located.)
The use ExtUtils::configPL; line must be the first line in the script!
Anything that comes before that line will not be in the filtered script.
This module is intended to work with ExtUtils::MakeMaker. You would create
your script, as above, with the .PL extension, and add a PL_FILE option
to the WriteMakefile() call (see the ExtUtils::MakeMaker manpage for more details.)
For example:
'PL_FILES' => { 'foo.PL' => 'foo.pl' }
Creating the Makefile would create a rule that would call your script like:
$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB)
foo.PL foo.pl
although the line could be as simple as:
perl foo.PL foo.pl
ExtUtils::configPL takes the first argument, and uses it as the name of
filtered script, and will write the new script into it.
Tags are use to mark the location that a substitution will be made. By default, tags are in the form of:
<<--variable-->>
where the variable is one of the Config.pm variables.
The tag will be replaced anywhere it is found in the script. You can stop the substitution in a section of the script by surrounding the section like:
no ExtUtils::configPL;
...
# Nothing will be substituted.
...
use ExtUtils::configPL;
...
# Substituting is resumed.
The use and no lines above are removed from the filtered script so that,
when you run the script, ExtUtils::configPL will not be re-ran.
There are several options that control how ExtUtils::configPL operation.
The options follow as a LIST only on the first use ExtUtils::configPL call.
Any other use, and the options are ignored.
use ExtUtils::configPL identifier => '\$Config\{(\w+)\}', mode => 0700;
identifier = 'regular expression'>identifier option allows you to change what the default tag looks like.
By default, a tag will match the regular expression:
<<--(\w+)-->>
By creating your own custom tag identifer, you can change the default behavour.
identifier => '\$Config\{(\w+)\}'
would recognize the Config.pm variable syntax.
There must be only one set of parenthesis. If you must include them, escape
them with a backslash ('\').
mode = octal number>
mode => 0700
head1 AUTHOR
Mark Pease <peasem@home.com>
the ExtUtils::MakeMaker manpage
|
ExtUtils::configPL - Perl extension to automagiclly configure perl scripts |