 |
Index for Section 3 |
|
 |
Alphabetical listing for D |
|
 |
Bottom of page |
|
Devel::PPPort(3)
NAME
Devel::PPPort - Perl/Pollution/Portability
SYNOPSIS
Devel::PPPort::WriteFile() ; # defaults to ./ppport.h
Devel::PPPort::WriteFile('someheader.h') ;
DESCRIPTION
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
module 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 the benefit.
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 good.
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 "WriteFile". 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
"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 "./pport.h".
The function returns TRUE if the file was written successfully. Otherwise
it returns FALSE.
ppport.h
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):
aMY_CXT
aMY_CXT_
_aMY_CXT
aTHX
aTHX_
AvFILLp
boolSV(b)
call_argv
call_method
call_pv
call_sv
dAX
DEFSV
dITEMS
dMY_CXT
dMY_CXT_SV
dNOOP
dTHR
dTHX
dTHXa
dTHXoa
ERRSV
get_av
get_cv
get_hv
get_sv
grok_hex
grok_oct
grok_bin
grok_number
grok_numeric_radix
gv_stashpvn(str,len,flags)
INT2PTR(type,int)
IVdf
MY_CXT
MY_CXT_INIT
newCONSTSUB(stash,name,sv)
newRV_inc(sv)
newRV_noinc(sv)
newSVpvn(data,len)
NOOP
NV
NVef
NVff
NVgf
PERL_REVISION
PERL_SUBVERSION
PERL_UNUSED_DECL
PERL_VERSION
PL_compiling
PL_copline
PL_curcop
PL_curstash
PL_defgv
PL_dirty
PL_hints
PL_na
PL_perldb
PL_rsfp_filters
PL_rsfpv
PL_stdingv
PL_Sv
PL_sv_no
PL_sv_undef
PL_sv_yes
pMY_CXT
pMY_CXT_
_pMY_CXT
pTHX
pTHX_
PTR2IV(ptr)
PTR2NV(ptr)
PTR2ul(ptr)
PTR2UV(ptr)
SAVE_DEFSV
START_MY_CXT
SvPVbyte(sv,lp) [*]
UVof
UVSIZE
UVuf
UVxf
UVXf
AUTHOR
Version 1.x of Devel::PPPort was written by Kenneth Albanowski.
Version 2.x was ported to the Perl core by Paul Marquess.
SEE ALSO
See h2xs.
 |
Index for Section 3 |
|
 |
Alphabetical listing for D |
|
 |
Top of page |
|