Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

/var/sites/help-site.com/auto/tmp/CPAN/1709/perl-5.8.0/ext/Devel/PPPort/PPPort.pm

/var/sites/help-site.com/auto/tmp/CPAN/1709/perl-5.8.0/ext/Devel/PPPort/PPPort.pm


NAME

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

    DEFSV

    dMY_CXT     

    dMY_CXT_SV

    dNOOP

    dTHR

    dTHX

    dTHXa

    dTHXoa

    ERRSV

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

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy