1PPPort(3)             User Contributed Perl Documentation            PPPort(3)
2
3
4

NAME

6       Devel::PPPort - Perl/Pollution/Portability
7

SYNOPSIS

9         Devel::PPPort::WriteFile();   # defaults to ./ppport.h
10         Devel::PPPort::WriteFile('someheader.h');
11
12         # Same as above but retrieve contents rather than write file
13         my $contents = Devel::PPPort::GetFileContents();
14         my $contents = Devel::PPPort::GetFileContents('someheader.h');
15

Start using Devel::PPPort for XS projects

17         $ cpan Devel::PPPort
18         $ perl -MDevel::PPPort -e'Devel::PPPort::WriteFile'
19         $ perl ppport.h --compat-version=5.6.1 --patch=diff.patch *.xs
20         $ patch -p0 < diff.patch
21         $ echo ppport.h >>MANIFEST
22

DESCRIPTION

24       Perl's API has changed over time, gaining new features, new functions,
25       increasing its flexibility, and reducing the impact on the C namespace
26       environment (reduced pollution). The header file written by this
27       module, typically ppport.h, attempts to bring some of the newer Perl
28       API features to older versions of Perl, so that you can worry less
29       about keeping track of old releases, but users can still reap the
30       benefit.
31
32       "Devel::PPPort" contains two functions, "WriteFile" and
33       "GetFileContents".  "WriteFile"'s only purpose is to write the ppport.h
34       C header file.  This file contains a series of macros and, if
35       explicitly requested, functions that allow XS modules to be built using
36       older versions of Perl. Currently, Perl versions from 5.003 to 5.20 are
37       supported.
38
39       "GetFileContents" can be used to retrieve the file contents rather than
40       writing it out.
41
42       This module is used by "h2xs" to write the file ppport.h.
43
44   Why use ppport.h?
45       You should use ppport.h in modern code so that your code will work with
46       the widest range of Perl interpreters possible, without significant
47       additional work.
48
49       You should attempt older code to fully use ppport.h, because the
50       reduced pollution of newer Perl versions is an important thing. It's so
51       important that the old polluting ways of original Perl modules will not
52       be supported very far into the future, and your module will almost
53       certainly break! By adapting to it now, you'll gain compatibility and a
54       sense of having done the electronic ecology some good.
55
56   How to use ppport.h
57       Don't direct the users of your module to download "Devel::PPPort".
58       They are most probably no XS writers. Also, don't make ppport.h
59       optional. Rather, just take the most recent copy of ppport.h that you
60       can find (e.g. by generating it with the latest "Devel::PPPort" release
61       from CPAN), copy it into your project, adjust your project to use it,
62       and distribute the header along with your module.
63
64   Running ppport.h
65       But ppport.h is more than just a C header. It's also a Perl script that
66       can check your source code. It will suggest hints and portability
67       notes, and can even make suggestions on how to change your code. You
68       can run it like any other Perl program:
69
70           perl ppport.h [options] [files]
71
72       It also has embedded documentation, so you can use
73
74           perldoc ppport.h
75
76       to find out more about how to use it.
77

FUNCTIONS

79   WriteFile
80       "WriteFile" takes one optional argument. When called with one argument,
81       it expects to be passed a filename. When called with no arguments, it
82       defaults to the filename ppport.h.
83
84       The function returns a true value if the file was written successfully.
85       Otherwise it returns a false value.
86
87   GetFileContents
88       "GetFileContents" behaves like "WriteFile" above, but returns the
89       contents of the would-be file rather than writing it out.
90

COMPATIBILITY

92       ppport.h supports Perl versions from 5.003 to 5.20 in threaded and non-
93       threaded configurations.
94
95   Provided Perl compatibility API
96       The header file written by this module, typically ppport.h, provides
97       access to the following elements of the Perl API that is not available
98       in older Perl releases:
99
100           _aMY_CXT
101           _pMY_CXT
102           aMY_CXT
103           aMY_CXT_
104           aTHX
105           aTHX_
106           aTHXR
107           aTHXR_
108           AvFILLp
109           boolSV
110           C_ARRAY_END
111           C_ARRAY_LENGTH
112           call_argv
113           call_method
114           call_pv
115           call_sv
116           caller_cx
117           cBOOL
118           ckWARN
119           CopFILE
120           CopFILE_set
121           CopFILEAV
122           CopFILEGV
123           CopFILEGV_set
124           CopFILESV
125           CopSTASH
126           CopSTASH_eq
127           CopSTASH_set
128           CopSTASHPV
129           CopSTASHPV_set
130           CopyD
131           CPERLscope
132           croak_memory_wrap
133           croak_no_modify
134           croak_nocontext
135           croak_sv
136           croak_xs_usage
137           dAX
138           dAXMARK
139           DEFSV
140           DEFSV_set
141           die_sv
142           dITEMS
143           dMY_CXT
144           dMY_CXT_SV
145           dNOOP
146           dTHR
147           dTHX
148           dTHXa
149           dTHXoa
150           dTHXR
151           dUNDERBAR
152           dVAR
153           dXCPT
154           dXSTARG
155           END_EXTERN_C
156           ERRSV
157           eval_pv
158           eval_sv
159           EXTERN_C
160           G_METHOD
161           get_av
162           get_cv
163           get_cvs
164           get_hv
165           get_sv
166           grok_bin
167           grok_hex
168           grok_number
169           GROK_NUMERIC_RADIX
170           grok_numeric_radix
171           grok_oct
172           gv_fetchpvn_flags
173           gv_fetchpvs
174           gv_stashpvn
175           gv_stashpvs
176           HEf_SVKEY
177           HeUTF8
178           hv_fetchs
179           hv_stores
180           HvNAME_get
181           HvNAMELEN_get
182           IN_LOCALE
183           IN_LOCALE_COMPILETIME
184           IN_LOCALE_RUNTIME
185           IN_PERL_COMPILETIME
186           INT2PTR
187           IS_NUMBER_GREATER_THAN_UV_MAX
188           IS_NUMBER_IN_UV
189           IS_NUMBER_INFINITY
190           IS_NUMBER_NAN
191           IS_NUMBER_NEG
192           IS_NUMBER_NOT_INT
193           isALNUMC
194           isASCII
195           isBLANK
196           isCNTRL
197           isGRAPH
198           isPRINT
199           isPSXSPC
200           isPUNCT
201           isXDIGIT
202           IVdf
203           IVSIZE
204           IVTYPE
205           load_module
206           memEQ
207           memEQs
208           memNE
209           memNEs
210           mess
211           mess_nocontext
212           mess_sv
213           mg_findext
214           MoveD
215           mPUSHi
216           mPUSHn
217           mPUSHp
218           mPUSHs
219           mPUSHu
220           MUTABLE_PTR
221           MUTABLE_SV
222           mXPUSHi
223           mXPUSHn
224           mXPUSHp
225           mXPUSHs
226           mXPUSHu
227           MY_CXT
228           MY_CXT_CLONE
229           MY_CXT_INIT
230           my_snprintf
231           my_sprintf
232           my_strlcat
233           my_strlcpy
234           newCONSTSUB
235           newRV_inc
236           newRV_noinc
237           newSV_type
238           newSVpvn
239           newSVpvn_flags
240           newSVpvn_share
241           newSVpvn_utf8
242           newSVpvs
243           newSVpvs_flags
244           newSVpvs_share
245           newSVuv
246           Newx
247           Newxc
248           Newxz
249           NOOP
250           NUM2PTR
251           NVef
252           NVff
253           NVgf
254           NVTYPE
255           OpHAS_SIBLING
256           OpLASTSIB_set
257           OpMAYBESIB_set
258           OpMORESIB_set
259           OpSIBLING
260           packWARN
261           PERL_ABS
262           PERL_ARGS_ASSERT_CROAK_XS_USAGE
263           PERL_BCDVERSION
264           Perl_croak_no_modify
265           PERL_GCC_BRACE_GROUPS_FORBIDDEN
266           PERL_HASH
267           PERL_INT_MAX
268           PERL_INT_MIN
269           PERL_LONG_MAX
270           PERL_LONG_MIN
271           PERL_MAGIC_arylen
272           PERL_MAGIC_backref
273           PERL_MAGIC_bm
274           PERL_MAGIC_collxfrm
275           PERL_MAGIC_dbfile
276           PERL_MAGIC_dbline
277           PERL_MAGIC_defelem
278           PERL_MAGIC_env
279           PERL_MAGIC_envelem
280           PERL_MAGIC_ext
281           PERL_MAGIC_fm
282           PERL_MAGIC_glob
283           PERL_MAGIC_isa
284           PERL_MAGIC_isaelem
285           PERL_MAGIC_mutex
286           PERL_MAGIC_nkeys
287           PERL_MAGIC_overload
288           PERL_MAGIC_overload_elem
289           PERL_MAGIC_overload_table
290           PERL_MAGIC_pos
291           PERL_MAGIC_qr
292           PERL_MAGIC_regdata
293           PERL_MAGIC_regdatum
294           PERL_MAGIC_regex_global
295           PERL_MAGIC_shared
296           PERL_MAGIC_shared_scalar
297           PERL_MAGIC_sig
298           PERL_MAGIC_sigelem
299           PERL_MAGIC_substr
300           PERL_MAGIC_sv
301           PERL_MAGIC_taint
302           PERL_MAGIC_tied
303           PERL_MAGIC_tiedelem
304           PERL_MAGIC_tiedscalar
305           PERL_MAGIC_utf8
306           PERL_MAGIC_uvar
307           PERL_MAGIC_uvar_elem
308           PERL_MAGIC_vec
309           PERL_MAGIC_vstring
310           PERL_PV_ESCAPE_ALL
311           PERL_PV_ESCAPE_FIRSTCHAR
312           PERL_PV_ESCAPE_NOBACKSLASH
313           PERL_PV_ESCAPE_NOCLEAR
314           PERL_PV_ESCAPE_QUOTE
315           PERL_PV_ESCAPE_RE
316           PERL_PV_ESCAPE_UNI
317           PERL_PV_ESCAPE_UNI_DETECT
318           PERL_PV_PRETTY_DUMP
319           PERL_PV_PRETTY_ELLIPSES
320           PERL_PV_PRETTY_LTGT
321           PERL_PV_PRETTY_NOCLEAR
322           PERL_PV_PRETTY_QUOTE
323           PERL_PV_PRETTY_REGPROP
324           PERL_QUAD_MAX
325           PERL_QUAD_MIN
326           PERL_REVISION
327           PERL_SCAN_ALLOW_UNDERSCORES
328           PERL_SCAN_DISALLOW_PREFIX
329           PERL_SCAN_GREATER_THAN_UV_MAX
330           PERL_SCAN_SILENT_ILLDIGIT
331           PERL_SHORT_MAX
332           PERL_SHORT_MIN
333           PERL_SIGNALS_UNSAFE_FLAG
334           PERL_SUBVERSION
335           PERL_UCHAR_MAX
336           PERL_UCHAR_MIN
337           PERL_UINT_MAX
338           PERL_UINT_MIN
339           PERL_ULONG_MAX
340           PERL_ULONG_MIN
341           PERL_UNUSED_ARG
342           PERL_UNUSED_CONTEXT
343           PERL_UNUSED_DECL
344           PERL_UNUSED_RESULT
345           PERL_UNUSED_VAR
346           PERL_UQUAD_MAX
347           PERL_UQUAD_MIN
348           PERL_USE_GCC_BRACE_GROUPS
349           PERL_USHORT_MAX
350           PERL_USHORT_MIN
351           PERL_VERSION
352           Perl_warner
353           Perl_warner_nocontext
354           PERLIO_FUNCS_CAST
355           PERLIO_FUNCS_DECL
356           PL_bufend
357           PL_bufptr
358           PL_compiling
359           PL_copline
360           PL_curcop
361           PL_curstash
362           PL_DBsignal
363           PL_DBsingle
364           PL_DBsub
365           PL_DBtrace
366           PL_debstash
367           PL_defgv
368           PL_diehook
369           PL_dirty
370           PL_dowarn
371           PL_errgv
372           PL_error_count
373           PL_expect
374           PL_hexdigit
375           PL_hints
376           PL_in_my
377           PL_in_my_stash
378           PL_laststatval
379           PL_lex_state
380           PL_lex_stuff
381           PL_linestr
382           PL_na
383           PL_no_modify
384           PL_parser
385           PL_perl_destruct_level
386           PL_perldb
387           PL_ppaddr
388           PL_rsfp
389           PL_rsfp_filters
390           PL_signals
391           PL_stack_base
392           PL_stack_sp
393           PL_statcache
394           PL_stdingv
395           PL_Sv
396           PL_sv_arenaroot
397           PL_sv_no
398           PL_sv_undef
399           PL_sv_yes
400           PL_tainted
401           PL_tainting
402           PL_tokenbuf
403           pMY_CXT
404           pMY_CXT_
405           Poison
406           PoisonFree
407           PoisonNew
408           PoisonWith
409           pTHX
410           pTHX_
411           PTR2IV
412           PTR2nat
413           PTR2NV
414           PTR2ul
415           PTR2UV
416           PTRV
417           PUSHmortal
418           PUSHu
419           pv_display
420           pv_escape
421           pv_pretty
422           SAVE_DEFSV
423           START_EXTERN_C
424           START_MY_CXT
425           STMT_END
426           STMT_START
427           STR_WITH_LEN
428           sv_2pv_flags
429           sv_2pv_nolen
430           sv_2pvbyte
431           sv_2pvbyte_nolen
432           sv_2uv
433           sv_catpv_mg
434           sv_catpvf_mg
435           sv_catpvf_mg_nocontext
436           sv_catpvn_mg
437           sv_catpvn_nomg
438           sv_catpvs
439           sv_catsv_mg
440           sv_catsv_nomg
441           SV_CONST_RETURN
442           SV_COW_DROP_PV
443           SV_COW_SHARED_HASH_KEYS
444           SV_GMAGIC
445           SV_HAS_TRAILING_NUL
446           SV_IMMEDIATE_UNREF
447           sv_magic_portable
448           SV_MUTABLE_RETURN
449           SV_NOSTEAL
450           sv_pvn_force_flags
451           sv_pvn_nomg
452           sv_setiv_mg
453           sv_setnv_mg
454           sv_setpv_mg
455           sv_setpvf_mg
456           sv_setpvf_mg_nocontext
457           sv_setpvn_mg
458           sv_setpvs
459           sv_setsv_mg
460           sv_setsv_nomg
461           sv_setuv
462           sv_setuv_mg
463           SV_SMAGIC
464           sv_unmagicext
465           sv_usepvn_mg
466           SV_UTF8_NO_ENCODING
467           sv_uv
468           sv_vcatpvf
469           sv_vcatpvf_mg
470           sv_vsetpvf
471           sv_vsetpvf_mg
472           SVf
473           SVf_UTF8
474           SVfARG
475           SvGETMAGIC
476           SvIV_nomg
477           SvMAGIC_set
478           SvPV_const
479           SvPV_flags
480           SvPV_flags_const
481           SvPV_flags_const_nolen
482           SvPV_flags_mutable
483           SvPV_force
484           SvPV_force_flags
485           SvPV_force_flags_mutable
486           SvPV_force_flags_nolen
487           SvPV_force_mutable
488           SvPV_force_nolen
489           SvPV_force_nomg
490           SvPV_force_nomg_nolen
491           SvPV_mutable
492           SvPV_nolen
493           SvPV_nolen_const
494           SvPV_nomg
495           SvPV_nomg_const
496           SvPV_nomg_const_nolen
497           SvPV_nomg_nolen
498           SvPV_renew
499           SvPVbyte
500           SvPVX_const
501           SvPVX_mutable
502           SvREFCNT_inc
503           SvREFCNT_inc_NN
504           SvREFCNT_inc_simple
505           SvREFCNT_inc_simple_NN
506           SvREFCNT_inc_simple_void
507           SvREFCNT_inc_simple_void_NN
508           SvREFCNT_inc_void
509           SvREFCNT_inc_void_NN
510           SvRV_set
511           SvRX
512           SvRXOK
513           SvSHARED_HASH
514           SvSTASH_set
515           SvUOK
516           SvUV
517           SvUV_nomg
518           SvUV_set
519           SvUVX
520           SvUVx
521           SvUVXx
522           SvVSTRING_mg
523           UNDERBAR
524           UTF8_MAXBYTES
525           UVof
526           UVSIZE
527           UVTYPE
528           UVuf
529           UVXf
530           UVxf
531           vload_module
532           vmess
533           vnewSVpvf
534           WARN_ALL
535           WARN_AMBIGUOUS
536           WARN_ASSERTIONS
537           WARN_BAREWORD
538           WARN_CLOSED
539           WARN_CLOSURE
540           WARN_DEBUGGING
541           WARN_DEPRECATED
542           WARN_DIGIT
543           WARN_EXEC
544           WARN_EXITING
545           WARN_GLOB
546           WARN_INPLACE
547           WARN_INTERNAL
548           WARN_IO
549           WARN_LAYER
550           WARN_MALLOC
551           WARN_MISC
552           WARN_NEWLINE
553           warn_nocontext
554           WARN_NUMERIC
555           WARN_ONCE
556           WARN_OVERFLOW
557           WARN_PACK
558           WARN_PARENTHESIS
559           WARN_PIPE
560           WARN_PORTABLE
561           WARN_PRECEDENCE
562           WARN_PRINTF
563           WARN_PROTOTYPE
564           WARN_QW
565           WARN_RECURSION
566           WARN_REDEFINE
567           WARN_REGEXP
568           WARN_RESERVED
569           WARN_SEMICOLON
570           WARN_SEVERE
571           WARN_SIGNAL
572           WARN_SUBSTR
573           warn_sv
574           WARN_SYNTAX
575           WARN_TAINT
576           WARN_THREADS
577           WARN_UNINITIALIZED
578           WARN_UNOPENED
579           WARN_UNPACK
580           WARN_UNTIE
581           WARN_UTF8
582           WARN_VOID
583           warner
584           WIDEST_UTYPE
585           XCPT_CATCH
586           XCPT_RETHROW
587           XCPT_TRY_END
588           XCPT_TRY_START
589           XPUSHmortal
590           XPUSHu
591           XSprePUSH
592           XSPROTO
593           XSRETURN
594           XSRETURN_UV
595           XST_mUV
596           ZeroD
597
598   Perl API not supported by ppport.h
599       There is still a big part of the API not supported by ppport.h.  Either
600       because it doesn't make sense to back-port that part of the API, or
601       simply because it hasn't been implemented yet. Patches welcome!
602
603       Here's a list of the currently unsupported API, and also the version of
604       Perl below which it is unsupported:
605
606       perl 5.24.0
607             BhkDISABLE
608             BhkENABLE
609             BhkENTRY_set
610             MULTICALL
611             PERL_SYS_TERM
612             POP_MULTICALL
613             PUSH_MULTICALL
614             PadARRAY
615             PadMAX
616             PadlistARRAY
617             PadlistMAX
618             PadlistNAMES
619             PadlistNAMESARRAY
620             PadlistNAMESMAX
621             PadnameLEN
622             PadnamePV
623             PadnameREFCNT
624             PadnameREFCNT_dec
625             PadnameSV
626             PadnamelistARRAY
627             PadnamelistMAX
628             PadnamelistREFCNT
629             PadnamelistREFCNT_dec
630             RESTORE_LC_NUMERIC
631             STORE_LC_NUMERIC_FORCE_TO_UNDERLYING
632             STORE_LC_NUMERIC_SET_TO_NEEDED
633             XS_APIVERSION_BOOTCHECK
634             XS_EXTERNAL
635             XS_INTERNAL
636             XS_VERSION_BOOTCHECK
637             XopDISABLE
638             XopENABLE
639             XopENTRY
640             XopENTRYCUSTOM
641             XopENTRY_set
642             cophh_new_empty
643             my_lstat
644             my_stat
645             reentrant_free
646             reentrant_init
647             reentrant_retry
648             reentrant_size
649             ref
650             sv_setref_pvs
651
652       perl 5.23.9
653             toFOLD_uvchr
654             toLOWER_uvchr
655             toTITLE_uvchr
656             toUPPER_uvchr
657
658       perl 5.23.8
659             clear_defarray
660
661       perl 5.22.0
662             UVCHR_SKIP
663
664       perl 5.21.10
665             DECLARATION_FOR_LC_NUMERIC_MANIPULATION
666
667       perl 5.21.7
668             PadnameUTF8
669             is_invariant_string
670             newUNOP_AUX
671
672       perl 5.21.6
673             newDEFSVOP
674             op_convert_list
675
676       perl 5.21.5
677             cv_name
678             newMETHOP
679             newMETHOP_named
680
681       perl 5.21.4
682             cv_set_call_checker_flags
683             grok_infnan
684             isinfnan
685             sync_locale
686
687       perl 5.21.2
688             grok_number_flags
689             op_sibling_splice
690
691       perl 5.21.1
692             isUTF8_CHAR
693             markstack_grow
694
695       perl 5.19.10
696             OP_TYPE_IS_OR_WAS
697
698       perl 5.19.7
699             OP_TYPE_IS
700
701       perl 5.19.4
702             is_safe_syscall
703             uvoffuni_to_utf8_flags
704
705       perl 5.19.3
706             sv_pos_b2u_flags
707
708       perl 5.19.2
709             SVt_INVLIST
710
711       perl 5.19.1
712             re_intuit_start
713             toFOLD
714             toFOLD_utf8
715             toLOWER_L1
716             toTITLE
717
718       perl 5.18.0
719             hv_rand_set
720
721       perl 5.17.9
722             av_tindex
723             av_top_index
724
725       perl 5.17.8
726             isALPHANUMERIC
727             isIDCONT
728
729       perl 5.17.7
730             SvREFCNT_dec_NN
731
732       perl 5.17.6
733             READ_XDIGIT
734
735       perl 5.17.4
736             PL_comppad_name
737             PadlistREFCNT
738             newMYSUB
739             newSVpadname
740
741       perl 5.17.2
742             sv_copypv_flags
743             sv_copypv_nomg
744             sv_vcatpvfn_flags
745
746       perl 5.15.9
747             utf8_to_uvchr_buf
748
749       perl 5.15.8
750             is_utf8_char_buf
751             wrap_op_checker
752
753       perl 5.15.7
754             toLOWER_utf8
755             toTITLE_utf8
756             toUPPER_utf8
757             to_utf8_fold
758             to_utf8_lower
759             to_utf8_title
760             to_utf8_upper
761
762       perl 5.15.6
763             newCONSTSUB_flags
764
765       perl 5.15.4
766             HvENAMELEN
767             HvENAMEUTF8
768             HvNAMELEN
769             HvNAMEUTF8
770             gv_autoload_pv
771             gv_autoload_pvn
772             gv_autoload_sv
773             gv_fetchmeth_pv
774             gv_fetchmeth_pv_autoload
775             gv_fetchmeth_pvn
776             gv_fetchmeth_pvn_autoload
777             gv_fetchmeth_sv
778             gv_fetchmeth_sv_autoload
779             gv_init_pv
780             gv_init_sv
781             newGVgen_flags
782             sv_derived_from_pv
783             sv_derived_from_pvn
784             sv_derived_from_sv
785             sv_does_pv
786             sv_does_pvn
787             sv_does_sv
788             sv_ref
789             whichsig_pv
790             whichsig_pvn
791             whichsig_sv
792
793       perl 5.15.1
794             pad_add_name_pv
795             pad_add_name_pvn
796             pad_add_name_pvs
797             pad_add_name_sv
798             pad_findmy_pv
799             pad_findmy_pvn
800             pad_findmy_pvs
801             pad_findmy_sv
802
803       perl 5.13.8
804             foldEQ_latin1
805
806       perl 5.13.7
807             HvENAME
808             OP_CLASS
809             XopFLAGS
810             amagic_deref_call
811             bytes_cmp_utf8
812             cop_hints_2hv
813             cop_hints_fetch_pv
814             cop_hints_fetch_pvn
815             cop_hints_fetch_pvs
816             cop_hints_fetch_sv
817             cophh_2hv
818             cophh_copy
819             cophh_delete_pv
820             cophh_delete_pvn
821             cophh_delete_pvs
822             cophh_delete_sv
823             cophh_fetch_pv
824             cophh_fetch_pvn
825             cophh_fetch_pvs
826             cophh_fetch_sv
827             cophh_free
828             cophh_store_pv
829             cophh_store_pvn
830             cophh_store_pvs
831             cophh_store_sv
832             custom_op_register
833             custom_op_xop
834             newFOROP
835             newWHILEOP
836
837       perl 5.13.6
838             LINKLIST
839             SvTRUE_nomg
840             ck_entersub_args_list
841             ck_entersub_args_proto
842             ck_entersub_args_proto_or_list
843             cv_get_call_checker
844             cv_set_call_checker
845             isWORDCHAR
846             mg_free_type
847             newSVpv_share
848             op_append_elem
849             op_append_list
850             op_contextualize
851             op_linklist
852             op_prepend_elem
853             rv2cv_op_cv
854             savesharedpvs
855             savesharedsvpv
856             sv_2bool_flags
857             sv_catpv_flags
858             sv_catpv_nomg
859             sv_catpvs_flags
860             sv_catpvs_mg
861             sv_catpvs_nomg
862             sv_cmp_flags
863             sv_cmp_locale_flags
864             sv_collxfrm_flags
865             sv_eq_flags
866             sv_setpvs_mg
867
868       perl 5.13.5
869             PL_rpeepp
870             isOCTAL
871             lex_stuff_pvs
872
873       perl 5.13.3
874             blockhook_register
875
876       perl 5.13.2
877             SvNV_nomg
878             find_rundefsv
879             foldEQ
880             foldEQ_locale
881             foldEQ_utf8
882             hv_fill
883             sv_dec_nomg
884             sv_inc_nomg
885
886       perl 5.13.1
887             sv_2nv_flags
888
889       perl 5.11.5
890             sv_pos_u2b_flags
891
892       perl 5.11.4
893             prescan_version
894
895       perl 5.11.2
896             PL_keyword_plugin
897
898       perl 5.11.1
899             ck_warner
900             ck_warner_d
901
902       perl 5.11.0
903             Gv_AMupdate
904             PL_opfreehook
905             SVt_REGEXP
906             SvOOK_offset
907             av_iter_p
908             gv_add_by_type
909             is_ascii_string
910             pregfree2
911             save_adelete
912             save_aelem_flags
913             save_hdelete
914             save_helem_flags
915             sv_utf8_upgrade_flags_grow
916
917       perl 5.10.1
918             mro_get_from_name
919             mro_get_private_data
920             mro_register
921             mro_set_mro
922             mro_set_private_data
923             save_hints
924             save_padsv_and_mortalize
925             save_pushi32ptr
926             save_pushptr
927             save_pushptrptr
928             sv_insert_flags
929
930       perl 5.10.0
931             hv_common
932             hv_common_key_len
933             sv_destroyable
934             sys_init
935             sys_init3
936             sys_term
937
938       perl 5.9.5
939             gv_fetchfile_flags
940             mro_get_linear_isa
941             mro_method_changed_in
942             my_dirfd
943             pregcomp
944             ptr_table_fetch
945             ptr_table_free
946             ptr_table_new
947             ptr_table_split
948             ptr_table_store
949             re_compile
950             reg_named_buff_all
951             reg_named_buff_exists
952             reg_named_buff_fetch
953             reg_named_buff_firstkey
954             reg_named_buff_nextkey
955             reg_named_buff_scalar
956             regfree_internal
957             savesharedpvn
958             scan_vstring
959             upg_version
960
961       perl 5.9.4
962             PerlIO_context_layers
963             gv_name_set
964             hv_copy_hints_hv
965             my_vsnprintf
966             sv_does
967             sv_usepvn_flags
968
969       perl 5.9.3
970             av_arylen_p
971             ckwarn
972             ckwarn_d
973             csighandler
974             dMULTICALL
975             doref
976             gv_const_sv
977             hv_eiter_p
978             hv_eiter_set
979             hv_name_set
980             hv_placeholders_get
981             hv_placeholders_set
982             hv_riter_p
983             hv_riter_set
984             is_utf8_string_loclen
985             newGIVENOP
986             newSVhek
987             newWHENOP
988             pad_compname_type
989             savepvs
990             sortsv_flags
991             vverify
992
993       perl 5.9.2
994             SvPVbyte_force
995             op_refcnt_lock
996             op_refcnt_unlock
997             savesvpv
998             vnormal
999
1000       perl 5.9.1
1001             hv_clear_placeholders
1002             hv_scalar
1003             scan_version
1004             sv_2iv_flags
1005             sv_2uv_flags
1006
1007       perl 5.9.0
1008             new_version
1009             save_set_svflags
1010             vcmp
1011             vnumify
1012             vstringify
1013
1014       perl 5.8.3
1015             SvIsCOW
1016             SvIsCOW_shared_hash
1017
1018       perl 5.8.1
1019             CvPADLIST
1020             PL_comppad
1021             SvVOK
1022             doing_taint
1023             find_runcv
1024             is_utf8_string_loc
1025             packlist
1026             pad_add_anon
1027             pad_new
1028             save_bool
1029             savestack_grow_cnt
1030             seed
1031             sv_cat_decode
1032             sv_setpviv
1033             sv_setpviv_mg
1034             unpackstring
1035
1036       perl 5.8.0
1037             HeUTF8
1038             nothreadhook
1039
1040       perl 5.7.3
1041             OP_DESC
1042             OP_NAME
1043             PL_peepp
1044             PerlIO_clearerr
1045             PerlIO_close
1046             PerlIO_eof
1047             PerlIO_error
1048             PerlIO_fileno
1049             PerlIO_fill
1050             PerlIO_flush
1051             PerlIO_get_base
1052             PerlIO_get_bufsiz
1053             PerlIO_get_cnt
1054             PerlIO_get_ptr
1055             PerlIO_read
1056             PerlIO_seek
1057             PerlIO_set_cnt
1058             PerlIO_set_ptrcnt
1059             PerlIO_setlinebuf
1060             PerlIO_stderr
1061             PerlIO_stdin
1062             PerlIO_stdout
1063             PerlIO_tell
1064             PerlIO_unread
1065             PerlIO_write
1066             SvLOCK
1067             SvSHARE
1068             SvUNLOCK
1069             atfork_lock
1070             atfork_unlock
1071             custom_op_desc
1072             custom_op_name
1073             deb
1074             debstack
1075             debstackptrs
1076             gv_fetchmeth_autoload
1077             ibcmp_utf8
1078             my_fork
1079             my_socketpair
1080             pack_cat
1081             perl_destruct
1082             pv_uni_display
1083             save_shared_pvref
1084             savesharedpv
1085             sortsv
1086             sv_magicext
1087             sv_nolocking
1088             sv_nosharing
1089             sv_recode_to_utf8
1090             sv_uni_display
1091             unpack_str
1092             uvchr_to_utf8_flags
1093             uvuni_to_utf8_flags
1094             vdeb
1095
1096       perl 5.7.2
1097             calloc
1098             getcwd_sv
1099             init_tm
1100             malloc
1101             mfree
1102             mini_mktime
1103             my_atof2
1104             my_strftime
1105             op_null
1106             realloc
1107             sv_catpvn_flags
1108             sv_catsv_flags
1109             sv_setsv_flags
1110             sv_utf8_upgrade_flags
1111             sv_utf8_upgrade_nomg
1112
1113       perl 5.7.1
1114             POPpbytex
1115             despatch_signals
1116             do_openn
1117             gv_handler
1118             is_lvalue_sub
1119             my_popen_list
1120             save_mortalizesv
1121             scan_num
1122             sv_force_normal_flags
1123             sv_setref_uv
1124             sv_unref_flags
1125             sv_utf8_upgrade
1126             utf8_length
1127             utf8n_to_uvchr
1128             utf8n_to_uvuni
1129             uvchr_to_utf8
1130             uvuni_to_utf8
1131
1132       perl 5.6.1
1133             SvGAMAGIC
1134             gv_efullname4
1135             gv_fullname4
1136             is_utf8_string
1137             save_generic_pvref
1138             utf16_to_utf8
1139             utf16_to_utf8_reversed
1140
1141       perl 5.6.0
1142             DO_UTF8
1143             PERL_SYS_INIT3
1144             PL_check
1145             POPul
1146             SvIOK_UV
1147             SvIOK_notUV
1148             SvIOK_only_UV
1149             SvPOK_only_UTF8
1150             SvPVbyte_nolen
1151             SvPVbytex
1152             SvPVbytex_force
1153             SvPVutf8
1154             SvPVutf8_force
1155             SvPVutf8_nolen
1156             SvPVutf8x
1157             SvPVutf8x_force
1158             SvUOK
1159             SvUTF8
1160             SvUTF8_off
1161             SvUTF8_on
1162             UTF8SKIP
1163             av_delete
1164             av_exists
1165             call_atexit
1166             caller_cx
1167             cast_i32
1168             cast_iv
1169             cast_ulong
1170             cast_uv
1171             do_gv_dump
1172             do_gvgv_dump
1173             do_hv_dump
1174             do_magic_dump
1175             do_op_dump
1176             do_open9
1177             do_pmop_dump
1178             do_sv_dump
1179             dump_all
1180             dump_eval
1181             dump_form
1182             dump_indent
1183             dump_packsubs
1184             dump_sub
1185             dump_vindent
1186             get_context
1187             get_ppaddr
1188             gv_dump
1189             magic_dump
1190             my_atof
1191             my_fflush_all
1192             newANONATTRSUB
1193             newATTRSUB
1194             newXS
1195             newXSproto
1196             op_dump
1197             perl_parse
1198             pmop_dump
1199             re_intuit_string
1200             reginitcolors
1201             require_pv
1202             safesyscalloc
1203             safesysfree
1204             safesysmalloc
1205             safesysrealloc
1206             save_I8
1207             save_alloc
1208             save_destructor
1209             save_destructor_x
1210             save_re_context
1211             save_vptr
1212             scan_bin
1213             set_context
1214             set_numeric_local
1215             set_numeric_radix
1216             set_numeric_standard
1217             str_to_version
1218             sv_2pvutf8
1219             sv_2pvutf8_nolen
1220             sv_force_normal
1221             sv_len_utf8
1222             sv_pos_b2u
1223             sv_pos_u2b
1224             sv_pv
1225             sv_pvbyte
1226             sv_pvbyten
1227             sv_pvbyten_force
1228             sv_pvutf8
1229             sv_pvutf8n
1230             sv_pvutf8n_force
1231             sv_rvweaken
1232             sv_utf8_encode
1233             utf8_distance
1234             utf8_hop
1235             vcroak
1236             vform
1237             vmess
1238             vwarn
1239             vwarner
1240
1241       perl 5.005_03
1242             POPpx
1243             get_vtbl
1244             save_generic_svref
1245
1246       perl 5.005
1247             PL_curpad
1248             PL_modglobal
1249             cx_dump
1250             debop
1251             debprofdump
1252             fbm_compile
1253             fbm_instr
1254             get_op_descs
1255             get_op_names
1256             init_stacks
1257             mg_size
1258             newHVhv
1259             new_stackinfo
1260             regdump
1261             regexec_flags
1262             regnext
1263             runops_debug
1264             runops_standard
1265             save_iv
1266             save_op
1267             sv_iv
1268             sv_nv
1269             sv_peek
1270             sv_pvn
1271             sv_pvn_nomg
1272             sv_true
1273
1274       perl 5.004_05
1275             CopyD
1276             MoveD
1277             do_binmode
1278             my_bcopy
1279             save_aelem
1280             save_helem
1281
1282       perl 5.004
1283             GIMME_V
1284             G_VOID
1285             HePV
1286             HeSVKEY_set
1287             POPu
1288             SvSetMagicSV
1289             SvSetMagicSV_nosteal
1290             SvSetSV_nosteal
1291             SvTAINTED
1292             SvTAINTED_off
1293             SvTAINTED_on
1294             block_end
1295             block_gimme
1296             block_start
1297             call_list
1298             delimcpy
1299             form
1300             gv_autoload4
1301             gv_fetchmethod_autoload
1302             hv_delayfree_ent
1303             hv_free_ent
1304             ibcmp_locale
1305             intro_my
1306             my_failure_exit
1307             newSVpvf
1308             rsignal
1309             rsignal_state
1310             save_I16
1311             save_gp
1312             share_hek
1313             start_subparse
1314             sv_catpvf
1315             sv_catpvf_mg
1316             sv_cmp_locale
1317             sv_derived_from
1318             sv_magic_portable
1319             sv_setpvf
1320             sv_setpvf_mg
1321             sv_taint
1322             sv_tainted
1323             sv_untaint
1324             sv_vcatpvf
1325             sv_vcatpvf_mg
1326             sv_vcatpvfn
1327             sv_vsetpvf
1328             sv_vsetpvf_mg
1329             sv_vsetpvfn
1330             toLOWER_LC
1331             vnewSVpvf
1332             warner
1333
1334       perl 5.003_07
1335             HeHASH
1336             HeKEY
1337             HeKLEN
1338             HeSVKEY
1339             HeSVKEY_force
1340             HeVAL
1341             cv_const_sv
1342             do_open
1343             gv_efullname3
1344             gv_fullname3
1345             hv_delete_ent
1346             hv_exists_ent
1347             hv_fetch_ent
1348             hv_iterkeysv
1349             hv_ksplit
1350             hv_store_ent
1351             my_pclose
1352             my_popen
1353             sv_gets
1354             unsharepvn
1355

BUGS

1357       If you find any bugs, "Devel::PPPort" doesn't seem to build on your
1358       system, or any of its tests fail, please send a bug report to
1359       perlbug@perl.org <mailto:perlbug@perl.org>.
1360

AUTHORS

1362       · Version 1.x of Devel::PPPort was written by Kenneth Albanowski.
1363
1364       · Version 2.x was ported to the Perl core by Paul Marquess.
1365
1366       · Version 3.x was ported back to CPAN by Marcus Holland-Moritz.
1367
1368       · Versions >= 3.22 are maintained with support from Matthew Horsfall
1369         (alh).
1370
1372       Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
1373
1374                    Copyright (C) 2018, The perl5 porters
1375
1376       Version 2.x, Copyright (C) 2001, Paul Marquess.
1377
1378       Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
1379
1380       This program is free software; you can redistribute it and/or modify it
1381       under the same terms as Perl itself.
1382

SEE ALSO

1384       See h2xs, ppport.h.
1385
1386
1387
1388perl v5.28.0                      2018-04-21                         PPPort(3)
Impressum