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.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
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.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
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
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
1384 See h2xs, ppport.h.
1385
1386
1387
1388perl v5.28.0 2018-04-21 PPPort(3)