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