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