Modules

  • ABCDE
  • FGHIL
  • MNOPS
  • TUX

Tools

Devel::PPPort

Perl 5 version 8.9 documentation
Recently read

Devel::PPPort

NAME

Devel::PPPort - Perl/Pollution/Portability

SYNOPSIS

  1. Devel::PPPort::WriteFile(); # defaults to ./ppport.h
  2. Devel::PPPort::WriteFile('someheader.h');

DESCRIPTION

Perl's API has changed over time, gaining new features, new functions, increasing its flexibility, and reducing the impact on the C namespace environment (reduced pollution). The header file written by this module, typically ppport.h, attempts to bring some of the newer Perl API features to older versions of Perl, so that you can worry less about keeping track of old releases, but users can still reap the benefit.

Devel::PPPort contains a single function, called WriteFile . Its only purpose is to write the ppport.h C header file. This file contains a series of macros and, if explicitly requested, functions that allow XS modules to be built using older versions of Perl. Currently, Perl versions from 5.003 to 5.10.0 are supported.

This module is used by h2xs to write the file ppport.h.

Why use ppport.h?

You should use ppport.h in modern code so that your code will work with the widest range of Perl interpreters possible, without significant additional work.

You should attempt older code to fully use ppport.h, because the reduced pollution of newer Perl versions is an important thing. It's so important that the old polluting ways of original Perl modules will not be supported very far into the future, and your module will almost certainly break! By adapting to it now, you'll gain compatibility and a sense of having done the electronic ecology some good.

How to use ppport.h

Don't direct the users of your module to download Devel::PPPort . They are most probably no XS writers. Also, don't make ppport.h optional. Rather, just take the most recent copy of ppport.h that you can find (e.g. by generating it with the latest Devel::PPPort release from CPAN), copy it into your project, adjust your project to use it, and distribute the header along with your module.

Running ppport.h

But ppport.h is more than just a C header. It's also a Perl script that can check your source code. It will suggest hints and portability notes, and can even make suggestions on how to change your code. You can run it like any other Perl program:

  1. perl ppport.h [options] [files]

It also has embedded documentation, so you can use

  1. perldoc ppport.h

to find out more about how to use it.

FUNCTIONS

WriteFile

WriteFile takes one optional argument. When called with one argument, it expects to be passed a filename. When called with no arguments, it defaults to the filename ppport.h.

The function returns a true value if the file was written successfully. Otherwise it returns a false value.

COMPATIBILITY

ppport.h supports Perl versions from 5.003 to 5.10.0 in threaded and non-threaded configurations.

Provided Perl compatibility API

The header file written by this module, typically ppport.h, provides access to the following elements of the Perl API that is not available in older Perl releases:

  1. _aMY_CXT
  2. _pMY_CXT
  3. aMY_CXT
  4. aMY_CXT_
  5. aTHX
  6. aTHX_
  7. aTHXR
  8. aTHXR_
  9. AvFILLp
  10. boolSV
  11. call_argv
  12. call_method
  13. call_pv
  14. call_sv
  15. ckWARN
  16. CopFILE
  17. CopFILE_set
  18. CopFILEAV
  19. CopFILEGV
  20. CopFILEGV_set
  21. CopFILESV
  22. CopSTASH
  23. CopSTASH_eq
  24. CopSTASH_set
  25. CopSTASHPV
  26. CopSTASHPV_set
  27. CopyD
  28. dAX
  29. dAXMARK
  30. DEFSV
  31. dITEMS
  32. dMY_CXT
  33. dMY_CXT_SV
  34. dNOOP
  35. dTHR
  36. dTHX
  37. dTHXa
  38. dTHXoa
  39. dTHXR
  40. dUNDERBAR
  41. dVAR
  42. dXCPT
  43. dXSTARG
  44. END_EXTERN_C
  45. ERRSV
  46. eval_pv
  47. eval_sv
  48. EXTERN_C
  49. get_av
  50. get_cv
  51. get_hv
  52. get_sv
  53. grok_bin
  54. grok_hex
  55. grok_number
  56. GROK_NUMERIC_RADIX
  57. grok_numeric_radix
  58. grok_oct
  59. gv_stashpvn
  60. hv_fetchs
  61. hv_stores
  62. IN_LOCALE
  63. IN_LOCALE_COMPILETIME
  64. IN_LOCALE_RUNTIME
  65. IN_PERL_COMPILETIME
  66. INT2PTR
  67. IS_NUMBER_GREATER_THAN_UV_MAX
  68. IS_NUMBER_IN_UV
  69. IS_NUMBER_INFINITY
  70. IS_NUMBER_NAN
  71. IS_NUMBER_NEG
  72. IS_NUMBER_NOT_INT
  73. IVdf
  74. IVSIZE
  75. IVTYPE
  76. load_module
  77. memEQ
  78. memNE
  79. MoveD
  80. mPUSHi
  81. mPUSHn
  82. mPUSHp
  83. mPUSHs
  84. mPUSHu
  85. mXPUSHi
  86. mXPUSHn
  87. mXPUSHp
  88. mXPUSHs
  89. mXPUSHu
  90. MY_CXT
  91. MY_CXT_CLONE
  92. MY_CXT_INIT
  93. my_snprintf
  94. my_strlcat
  95. my_strlcpy
  96. newCONSTSUB
  97. newRV_inc
  98. newRV_noinc
  99. newSVpvn
  100. newSVpvn_flags
  101. newSVpvn_share
  102. newSVpvn_utf8
  103. newSVpvs
  104. newSVpvs_flags
  105. newSVuv
  106. Newx
  107. Newxc
  108. Newxz
  109. NOOP
  110. NUM2PTR
  111. NVef
  112. NVff
  113. NVgf
  114. NVTYPE
  115. packWARN
  116. PERL_ABS
  117. PERL_BCDVERSION
  118. PERL_GCC_BRACE_GROUPS_FORBIDDEN
  119. PERL_HASH
  120. PERL_INT_MAX
  121. PERL_INT_MIN
  122. PERL_LONG_MAX
  123. PERL_LONG_MIN
  124. PERL_MAGIC_arylen
  125. PERL_MAGIC_backref
  126. PERL_MAGIC_bm
  127. PERL_MAGIC_collxfrm
  128. PERL_MAGIC_dbfile
  129. PERL_MAGIC_dbline
  130. PERL_MAGIC_defelem
  131. PERL_MAGIC_env
  132. PERL_MAGIC_envelem
  133. PERL_MAGIC_ext
  134. PERL_MAGIC_fm
  135. PERL_MAGIC_glob
  136. PERL_MAGIC_isa
  137. PERL_MAGIC_isaelem
  138. PERL_MAGIC_mutex
  139. PERL_MAGIC_nkeys
  140. PERL_MAGIC_overload
  141. PERL_MAGIC_overload_elem
  142. PERL_MAGIC_overload_table
  143. PERL_MAGIC_pos
  144. PERL_MAGIC_qr
  145. PERL_MAGIC_regdata
  146. PERL_MAGIC_regdatum
  147. PERL_MAGIC_regex_global
  148. PERL_MAGIC_shared
  149. PERL_MAGIC_shared_scalar
  150. PERL_MAGIC_sig
  151. PERL_MAGIC_sigelem
  152. PERL_MAGIC_substr
  153. PERL_MAGIC_sv
  154. PERL_MAGIC_taint
  155. PERL_MAGIC_tied
  156. PERL_MAGIC_tiedelem
  157. PERL_MAGIC_tiedscalar
  158. PERL_MAGIC_utf8
  159. PERL_MAGIC_uvar
  160. PERL_MAGIC_uvar_elem
  161. PERL_MAGIC_vec
  162. PERL_MAGIC_vstring
  163. PERL_QUAD_MAX
  164. PERL_QUAD_MIN
  165. PERL_REVISION
  166. PERL_SCAN_ALLOW_UNDERSCORES
  167. PERL_SCAN_DISALLOW_PREFIX
  168. PERL_SCAN_GREATER_THAN_UV_MAX
  169. PERL_SCAN_SILENT_ILLDIGIT
  170. PERL_SHORT_MAX
  171. PERL_SHORT_MIN
  172. PERL_SIGNALS_UNSAFE_FLAG
  173. PERL_SUBVERSION
  174. PERL_UCHAR_MAX
  175. PERL_UCHAR_MIN
  176. PERL_UINT_MAX
  177. PERL_UINT_MIN
  178. PERL_ULONG_MAX
  179. PERL_ULONG_MIN
  180. PERL_UNUSED_ARG
  181. PERL_UNUSED_CONTEXT
  182. PERL_UNUSED_DECL
  183. PERL_UNUSED_VAR
  184. PERL_UQUAD_MAX
  185. PERL_UQUAD_MIN
  186. PERL_USE_GCC_BRACE_GROUPS
  187. PERL_USHORT_MAX
  188. PERL_USHORT_MIN
  189. PERL_VERSION
  190. Perl_warner
  191. Perl_warner_nocontext
  192. PL_compiling
  193. PL_copline
  194. PL_curcop
  195. PL_curstash
  196. PL_DBsignal
  197. PL_DBsingle
  198. PL_DBsub
  199. PL_DBtrace
  200. PL_debstash
  201. PL_defgv
  202. PL_diehook
  203. PL_dirty
  204. PL_dowarn
  205. PL_errgv
  206. PL_expect
  207. PL_hexdigit
  208. PL_hints
  209. PL_laststatval
  210. PL_na
  211. PL_no_modify
  212. PL_perl_destruct_level
  213. PL_perldb
  214. PL_ppaddr
  215. PL_rsfp
  216. PL_rsfp_filters
  217. PL_signals
  218. PL_stack_base
  219. PL_stack_sp
  220. PL_statcache
  221. PL_stdingv
  222. PL_Sv
  223. PL_sv_arenaroot
  224. PL_sv_no
  225. PL_sv_undef
  226. PL_sv_yes
  227. PL_tainted
  228. PL_tainting
  229. pMY_CXT
  230. pMY_CXT_
  231. Poison
  232. PoisonFree
  233. PoisonNew
  234. PoisonWith
  235. pTHX
  236. pTHX_
  237. PTR2IV
  238. PTR2NV
  239. PTR2ul
  240. PTR2UV
  241. PTRV
  242. PUSHmortal
  243. PUSHu
  244. SAVE_DEFSV
  245. START_EXTERN_C
  246. START_MY_CXT
  247. STMT_END
  248. STMT_START
  249. STR_WITH_LEN
  250. sv_2pv_flags
  251. sv_2pv_nolen
  252. sv_2pvbyte
  253. sv_2pvbyte_nolen
  254. sv_2uv
  255. sv_catpv_mg
  256. sv_catpvf_mg
  257. sv_catpvf_mg_nocontext
  258. sv_catpvn_mg
  259. sv_catpvn_nomg
  260. sv_catpvs
  261. sv_catsv_mg
  262. sv_catsv_nomg
  263. SV_CONST_RETURN
  264. SV_COW_DROP_PV
  265. SV_COW_SHARED_HASH_KEYS
  266. SV_GMAGIC
  267. SV_HAS_TRAILING_NUL
  268. SV_IMMEDIATE_UNREF
  269. sv_magic_portable
  270. SV_MUTABLE_RETURN
  271. SV_NOSTEAL
  272. sv_pvn_force_flags
  273. sv_pvn_nomg
  274. sv_setiv_mg
  275. sv_setnv_mg
  276. sv_setpv_mg
  277. sv_setpvf_mg
  278. sv_setpvf_mg_nocontext
  279. sv_setpvn_mg
  280. sv_setpvs
  281. sv_setsv_mg
  282. sv_setsv_nomg
  283. sv_setuv
  284. sv_setuv_mg
  285. SV_SMAGIC
  286. sv_usepvn_mg
  287. SV_UTF8_NO_ENCODING
  288. sv_uv
  289. sv_vcatpvf
  290. sv_vcatpvf_mg
  291. sv_vsetpvf
  292. sv_vsetpvf_mg
  293. SVf
  294. SVf_UTF8
  295. SvGETMAGIC
  296. SvIV_nomg
  297. SvMAGIC_set
  298. SvPV_const
  299. SvPV_flags
  300. SvPV_flags_const
  301. SvPV_flags_const_nolen
  302. SvPV_flags_mutable
  303. SvPV_force
  304. SvPV_force_flags
  305. SvPV_force_flags_mutable
  306. SvPV_force_flags_nolen
  307. SvPV_force_mutable
  308. SvPV_force_nolen
  309. SvPV_force_nomg
  310. SvPV_force_nomg_nolen
  311. SvPV_mutable
  312. SvPV_nolen
  313. SvPV_nolen_const
  314. SvPV_nomg
  315. SvPV_nomg_const
  316. SvPV_nomg_const_nolen
  317. SvPVbyte
  318. SvPVX_const
  319. SvPVX_mutable
  320. SvREFCNT_inc
  321. SvREFCNT_inc_NN
  322. SvREFCNT_inc_simple
  323. SvREFCNT_inc_simple_NN
  324. SvREFCNT_inc_simple_void
  325. SvREFCNT_inc_simple_void_NN
  326. SvREFCNT_inc_void
  327. SvREFCNT_inc_void_NN
  328. SvRV_set
  329. SvSHARED_HASH
  330. SvSTASH_set
  331. SvUOK
  332. SvUV
  333. SvUV_nomg
  334. SvUV_set
  335. SvUVX
  336. SvUVx
  337. SvUVXx
  338. SvVSTRING_mg
  339. UNDERBAR
  340. UTF8_MAXBYTES
  341. UVof
  342. UVSIZE
  343. UVTYPE
  344. UVuf
  345. UVXf
  346. UVxf
  347. vload_module
  348. vnewSVpvf
  349. WARN_ALL
  350. WARN_AMBIGUOUS
  351. WARN_ASSERTIONS
  352. WARN_BAREWORD
  353. WARN_CLOSED
  354. WARN_CLOSURE
  355. WARN_DEBUGGING
  356. WARN_DEPRECATED
  357. WARN_DIGIT
  358. WARN_EXEC
  359. WARN_EXITING
  360. WARN_GLOB
  361. WARN_INPLACE
  362. WARN_INTERNAL
  363. WARN_IO
  364. WARN_LAYER
  365. WARN_MALLOC
  366. WARN_MISC
  367. WARN_NEWLINE
  368. WARN_NUMERIC
  369. WARN_ONCE
  370. WARN_OVERFLOW
  371. WARN_PACK
  372. WARN_PARENTHESIS
  373. WARN_PIPE
  374. WARN_PORTABLE
  375. WARN_PRECEDENCE
  376. WARN_PRINTF
  377. WARN_PROTOTYPE
  378. WARN_QW
  379. WARN_RECURSION
  380. WARN_REDEFINE
  381. WARN_REGEXP
  382. WARN_RESERVED
  383. WARN_SEMICOLON
  384. WARN_SEVERE
  385. WARN_SIGNAL
  386. WARN_SUBSTR
  387. WARN_SYNTAX
  388. WARN_TAINT
  389. WARN_THREADS
  390. WARN_UNINITIALIZED
  391. WARN_UNOPENED
  392. WARN_UNPACK
  393. WARN_UNTIE
  394. WARN_UTF8
  395. WARN_VOID
  396. warner
  397. XCPT_CATCH
  398. XCPT_RETHROW
  399. XCPT_TRY_END
  400. XCPT_TRY_START
  401. XPUSHmortal
  402. XPUSHu
  403. XSprePUSH
  404. XSRETURN
  405. XSRETURN_UV
  406. XST_mUV
  407. ZeroD

Perl API not supported by ppport.h

There is still a big part of the API not supported by ppport.h. Either because it doesn't make sense to back-port that part of the API, or simply because it hasn't been implemented yet. Patches welcome!

Here's a list of the currently unsupported API, and also the version of Perl below which it is unsupported:

  • perl 5.11.0
    1. HeUTF8
    2. MULTICALL
    3. POP_MULTICALL
    4. PUSH_MULTICALL
    5. av_iter_p
    6. hv_assert
    7. pad_sv
    8. pregfree2
    9. ref
    10. stashpv_hvname_match
  • perl 5.10.0
    1. hv_common
    2. hv_common_key_len
    3. sv_destroyable
    4. sys_init
    5. sys_init3
    6. sys_term
  • perl 5.9.5
    1. Perl_signbit
    2. SvRX
    3. SvRXOK
    4. av_create_and_push
    5. av_create_and_unshift_one
    6. get_cvn_flags
    7. gv_fetchfile_flags
    8. mro_get_linear_isa
    9. mro_method_changed_in
    10. my_dirfd
    11. newSV_type
    12. pregcomp
    13. ptr_table_clear
    14. ptr_table_fetch
    15. ptr_table_free
    16. ptr_table_new
    17. ptr_table_split
    18. ptr_table_store
    19. re_compile
    20. re_intuit_start
    21. reg_named_buff_all
    22. reg_named_buff_exists
    23. reg_named_buff_fetch
    24. reg_named_buff_firstkey
    25. reg_named_buff_nextkey
    26. reg_named_buff_scalar
    27. reg_stringify
    28. regfree_internal
    29. savesharedpvn
    30. scan_vstring
    31. upg_version
  • perl 5.9.4
    1. PerlIO_context_layers
    2. gv_name_set
    3. my_vsnprintf
    4. newXS_flags
    5. pv_escape
    6. pv_pretty
    7. regclass_swash
    8. sv_does
    9. sv_usepvn_flags
  • perl 5.9.3
    1. av_arylen_p
    2. ckwarn
    3. ckwarn_d
    4. csighandler
    5. dMULTICALL
    6. doref
    7. gv_const_sv
    8. gv_stashpvs
    9. hv_eiter_p
    10. hv_eiter_set
    11. hv_name_set
    12. hv_placeholders_get
    13. hv_placeholders_p
    14. hv_placeholders_set
    15. hv_riter_p
    16. hv_riter_set
    17. is_utf8_string_loclen
    18. my_sprintf
    19. newGIVENOP
    20. newSVhek
    21. newSVpvs_share
    22. newWHENOP
    23. newWHILEOP
    24. savepvs
    25. sortsv_flags
    26. vverify
  • perl 5.9.2
    1. SvPVbyte_force
    2. find_rundefsvoffset
    3. gv_fetchpvn_flags
    4. gv_fetchsv
    5. op_refcnt_lock
    6. op_refcnt_unlock
    7. savesvpv
    8. vnormal
  • perl 5.9.1
    1. hv_clear_placeholders
    2. hv_scalar
    3. scan_version
    4. sv_2iv_flags
    5. sv_2uv_flags
  • perl 5.9.0
    1. new_version
    2. save_set_svflags
    3. vcmp
    4. vnumify
    5. vstringify
  • perl 5.8.3
    1. SvIsCOW
    2. SvIsCOW_shared_hash
  • perl 5.8.1
    1. SvVOK
    2. doing_taint
    3. find_runcv
    4. is_utf8_string_loc
    5. packlist
    6. save_bool
    7. savestack_grow_cnt
    8. seed
    9. sv_cat_decode
    10. sv_compile_2op
    11. sv_setpviv
    12. sv_setpviv_mg
    13. unpackstring
  • perl 5.8.0
    1. hv_iternext_flags
    2. hv_store_flags
    3. is_utf8_idcont
    4. nothreadhook
  • perl 5.7.3
    1. PerlIO_clearerr
    2. PerlIO_close
    3. PerlIO_eof
    4. PerlIO_error
    5. PerlIO_fileno
    6. PerlIO_fill
    7. PerlIO_flush
    8. PerlIO_get_base
    9. PerlIO_get_bufsiz
    10. PerlIO_get_cnt
    11. PerlIO_get_ptr
    12. PerlIO_read
    13. PerlIO_seek
    14. PerlIO_set_cnt
    15. PerlIO_set_ptrcnt
    16. PerlIO_setlinebuf
    17. PerlIO_stderr
    18. PerlIO_stdin
    19. PerlIO_stdout
    20. PerlIO_tell
    21. PerlIO_unread
    22. PerlIO_write
    23. SvLOCK
    24. SvSHARE
    25. SvUNLOCK
    26. atfork_lock
    27. atfork_unlock
    28. custom_op_desc
    29. custom_op_name
    30. deb
    31. debstack
    32. debstackptrs
    33. gv_fetchmeth_autoload
    34. ibcmp_utf8
    35. my_fork
    36. my_socketpair
    37. pack_cat
    38. perl_destruct
    39. pv_uni_display
    40. save_shared_pvref
    41. savesharedpv
    42. sortsv
    43. sv_copypv
    44. sv_magicext
    45. sv_nolocking
    46. sv_nosharing
    47. sv_recode_to_utf8
    48. sv_uni_display
    49. to_uni_fold
    50. to_uni_lower
    51. to_uni_title
    52. to_uni_upper
    53. to_utf8_case
    54. to_utf8_fold
    55. to_utf8_lower
    56. to_utf8_title
    57. to_utf8_upper
    58. unpack_str
    59. uvchr_to_utf8_flags
    60. uvuni_to_utf8_flags
    61. vdeb
  • perl 5.7.2
    1. calloc
    2. getcwd_sv
    3. init_tm
    4. malloc
    5. mfree
    6. mini_mktime
    7. my_atof2
    8. my_strftime
    9. op_null
    10. realloc
    11. sv_catpvn_flags
    12. sv_catsv_flags
    13. sv_setsv_flags
    14. sv_utf8_upgrade_flags
    15. swash_fetch
  • perl 5.7.1
    1. POPpbytex
    2. bytes_from_utf8
    3. despatch_signals
    4. do_openn
    5. gv_handler
    6. is_lvalue_sub
    7. my_popen_list
    8. save_mortalizesv
    9. save_padsv
    10. scan_num
    11. sv_force_normal_flags
    12. sv_setref_uv
    13. sv_unref_flags
    14. sv_utf8_upgrade
    15. utf8_length
    16. utf8_to_uvchr
    17. utf8_to_uvuni
    18. utf8n_to_uvuni
    19. uvuni_to_utf8
  • perl 5.6.1
    1. SvGAMAGIC
    2. apply_attrs_string
    3. bytes_to_utf8
    4. gv_efullname4
    5. gv_fullname4
    6. is_utf8_string
    7. save_generic_pvref
    8. utf16_to_utf8
    9. utf16_to_utf8_reversed
    10. utf8_to_bytes
  • perl 5.6.0
    1. SvIOK_UV
    2. SvIOK_notUV
    3. SvIOK_only_UV
    4. SvPOK_only_UTF8
    5. SvPVbyte_nolen
    6. SvPVbytex
    7. SvPVbytex_force
    8. SvPVutf8
    9. SvPVutf8_force
    10. SvPVutf8_nolen
    11. SvPVutf8x
    12. SvPVutf8x_force
    13. SvUOK
    14. SvUTF8
    15. SvUTF8_off
    16. SvUTF8_on
    17. av_delete
    18. av_exists
    19. call_atexit
    20. cast_i32
    21. cast_iv
    22. cast_ulong
    23. cast_uv
    24. do_gv_dump
    25. do_gvgv_dump
    26. do_hv_dump
    27. do_magic_dump
    28. do_op_dump
    29. do_open9
    30. do_pmop_dump
    31. do_sv_dump
    32. dump_all
    33. dump_eval
    34. dump_form
    35. dump_indent
    36. dump_packsubs
    37. dump_sub
    38. dump_vindent
    39. get_context
    40. get_ppaddr
    41. gv_dump
    42. init_i18nl10n
    43. init_i18nl14n
    44. is_uni_alnum
    45. is_uni_alnum_lc
    46. is_uni_alnumc
    47. is_uni_alnumc_lc
    48. is_uni_alpha
    49. is_uni_alpha_lc
    50. is_uni_ascii
    51. is_uni_ascii_lc
    52. is_uni_cntrl
    53. is_uni_cntrl_lc
    54. is_uni_digit
    55. is_uni_digit_lc
    56. is_uni_graph
    57. is_uni_graph_lc
    58. is_uni_idfirst
    59. is_uni_idfirst_lc
    60. is_uni_lower
    61. is_uni_lower_lc
    62. is_uni_print
    63. is_uni_print_lc
    64. is_uni_punct
    65. is_uni_punct_lc
    66. is_uni_space
    67. is_uni_space_lc
    68. is_uni_upper
    69. is_uni_upper_lc
    70. is_uni_xdigit
    71. is_uni_xdigit_lc
    72. is_utf8_alnum
    73. is_utf8_alnumc
    74. is_utf8_alpha
    75. is_utf8_ascii
    76. is_utf8_char
    77. is_utf8_cntrl
    78. is_utf8_digit
    79. is_utf8_graph
    80. is_utf8_idfirst
    81. is_utf8_lower
    82. is_utf8_mark
    83. is_utf8_print
    84. is_utf8_punct
    85. is_utf8_space
    86. is_utf8_upper
    87. is_utf8_xdigit
    88. magic_dump
    89. mess
    90. my_atof
    91. my_fflush_all
    92. newANONATTRSUB
    93. newATTRSUB
    94. newXS
    95. newXSproto
    96. new_collate
    97. new_ctype
    98. new_numeric
    99. op_dump
    100. perl_parse
    101. pmop_dump
    102. pv_display
    103. re_intuit_string
    104. reginitcolors
    105. require_pv
    106. safesyscalloc
    107. safesysfree
    108. safesysmalloc
    109. safesysrealloc
    110. save_I8
    111. save_alloc
    112. save_destructor
    113. save_destructor_x
    114. save_re_context
    115. save_vptr
    116. scan_bin
    117. set_context
    118. set_numeric_local
    119. set_numeric_radix
    120. set_numeric_standard
    121. str_to_version
    122. sv_2pvutf8
    123. sv_2pvutf8_nolen
    124. sv_force_normal
    125. sv_len_utf8
    126. sv_pos_b2u
    127. sv_pos_u2b
    128. sv_pv
    129. sv_pvbyte
    130. sv_pvbyten
    131. sv_pvbyten_force
    132. sv_pvutf8
    133. sv_pvutf8n
    134. sv_pvutf8n_force
    135. sv_rvweaken
    136. sv_utf8_decode
    137. sv_utf8_downgrade
    138. sv_utf8_encode
    139. swash_init
    140. tmps_grow
    141. to_uni_lower_lc
    142. to_uni_title_lc
    143. to_uni_upper_lc
    144. utf8_distance
    145. utf8_hop
    146. vcroak
    147. vform
    148. vmess
    149. vwarn
    150. vwarner
  • perl 5.005_03
    1. POPpx
    2. get_vtbl
    3. save_generic_svref
  • perl 5.005
    1. PL_modglobal
    2. cx_dump
    3. debop
    4. debprofdump
    5. fbm_compile
    6. fbm_instr
    7. get_op_descs
    8. get_op_names
    9. init_stacks
    10. mg_length
    11. mg_size
    12. newHVhv
    13. new_stackinfo
    14. regdump
    15. regexec_flags
    16. regnext
    17. runops_debug
    18. runops_standard
    19. save_iv
    20. screaminstr
    21. sv_iv
    22. sv_nv
    23. sv_peek
    24. sv_pvn
    25. sv_pvn_nomg
    26. sv_true
  • perl 5.004_05
    1. do_binmode
    2. save_aelem
    3. save_helem
  • perl 5.004
    1. GIMME_V
    2. G_VOID
    3. HEf_SVKEY
    4. HeHASH
    5. HeKEY
    6. HeKLEN
    7. HePV
    8. HeSVKEY
    9. HeSVKEY_force
    10. HeSVKEY_set
    11. HeVAL
    12. SvSetMagicSV
    13. SvSetMagicSV_nosteal
    14. SvSetSV_nosteal
    15. SvTAINTED
    16. SvTAINTED_off
    17. SvTAINTED_on
    18. block_gimme
    19. call_list
    20. cv_const_sv
    21. delimcpy
    22. do_open
    23. form
    24. gv_autoload4
    25. gv_efullname3
    26. gv_fetchmethod_autoload
    27. gv_fullname3
    28. hv_delayfree_ent
    29. hv_delete_ent
    30. hv_exists_ent
    31. hv_fetch_ent
    32. hv_free_ent
    33. hv_iterkeysv
    34. hv_ksplit
    35. hv_store_ent
    36. ibcmp_locale
    37. my_failure_exit
    38. my_memcmp
    39. my_pclose
    40. my_popen
    41. newSVpvf
    42. rsignal
    43. rsignal_state
    44. save_I16
    45. save_gp
    46. share_hek
    47. start_subparse
    48. sv_catpvf
    49. sv_catpvf_mg
    50. sv_cmp_locale
    51. sv_derived_from
    52. sv_gets
    53. sv_magic_portable
    54. sv_setpvf
    55. sv_setpvf_mg
    56. sv_taint
    57. sv_tainted
    58. sv_untaint
    59. sv_vcatpvf
    60. sv_vcatpvf_mg
    61. sv_vcatpvfn
    62. sv_vsetpvf
    63. sv_vsetpvf_mg
    64. sv_vsetpvfn
    65. unsharepvn
    66. vnewSVpvf
    67. warner

BUGS

If you find any bugs, Devel::PPPort doesn't seem to build on your system or any of its tests fail, please use the CPAN Request Tracker at http://rt.cpan.org/ to create a ticket for the module.

AUTHORS

  • Version 1.x of Devel::PPPort was written by Kenneth Albanowski.

  • Version 2.x was ported to the Perl core by Paul Marquess.

  • Version 3.x was ported back to CPAN by Marcus Holland-Moritz.

COPYRIGHT

Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.

Version 2.x, Copyright (C) 2001, Paul Marquess.

Version 1.x, Copyright (C) 1999, Kenneth Albanowski.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

See h2xs, ppport.h.