Devel::PPPort - Perl/Pollution/Portability
Devel::PPPort::WriteFile() ; # defaults to ./ppport.h
Perl has changed over time, gaining new features, new
functions, increasing its flexibility, and reducing the
impact on the C namespace environment (reduced pollution).
The header file, typicaly "ppport.h", written by this mod-
ule attempts to bring some of the newer Perl features to
older versions of Perl, so that you can worry less about
keeping track of old releases, but users can still reap
Why you should use "ppport.h" in modern code: so that your
code will work with the widest range of Perl interpreters
possible, without significant additional work.
Why you should attempt older code to fully use "ppport.h":
because the reduced pollution of newer Perl versions is an
important thing, so important that the old polluting ways
of original Perl modules will not be supported very far
into the future, and your module will almost certainly
break! By adapting to it now, you'll gained compatibility
and a sense of having done the electronic ecology some
How to use ppport.h: Don't direct the user to download
"Devel::PPPort", and don't make "ppport.h" optional.
Rather, just take the most recent copy of "ppport.h" that
you can find (probably in "Devel::PPPort" on CPAN), copy
it into your project, adjust your project to use it, and
distribute the header along with your module.
"Devel::PPPort" contains a single function, called "Write-
File". It's purpose is to write a 'C' header file that is
used when writing XS modules. The file contains a series
of macros that allow XS modules to be built using older
versions of Perl.
This module is used by h2xs to write the file ppport.h.
"WriteFile" takes a zero or one parameters. When called
with one parameter it expects to be passed a filename.
When called with no parameters, it defults to the filename
The function returns TRUE if the file was written success-
fully. Otherwise it returns FALSE.
perl v5.8.5 2002-11-06 1
The file written by this module, typically "ppport.h",
provides access to the following Perl API if not already
available (and in some cases [*] even if available, access
to a fixed interface):
perl v5.8.5 2002-11-06 2
perl v5.8.5 2002-11-06 3
Version 1.x of Devel::PPPort was written by Kenneth
Version 2.x was ported to the Perl core by Paul Marquess.
perl v5.8.5 2002-11-06 4