Modules

  • ABCDE
  • FGHIL
  • MNOPS
  • TUX

Tools

Devel::PPPort

Perl 5 version 18.1 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.11.5 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.11.5 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. CPERLscope
  29. dAX
  30. dAXMARK
  31. DEFSV
  32. DEFSV_set
  33. dITEMS
  34. dMY_CXT
  35. dMY_CXT_SV
  36. dNOOP
  37. dTHR
  38. dTHX
  39. dTHXa
  40. dTHXoa
  41. dTHXR
  42. dUNDERBAR
  43. dVAR
  44. dXCPT
  45. dXSTARG
  46. END_EXTERN_C
  47. ERRSV
  48. eval_pv
  49. eval_sv
  50. EXTERN_C
  51. G_METHOD
  52. get_av
  53. get_cv
  54. get_cvn_flags
  55. get_cvs
  56. get_hv
  57. get_sv
  58. grok_bin
  59. grok_hex
  60. grok_number
  61. grok_numeric_radix
  62. GROK_NUMERIC_RADIX
  63. grok_oct
  64. gv_fetchpvn_flags
  65. gv_fetchpvs
  66. gv_fetchsv
  67. gv_stashpvn
  68. gv_stashpvs
  69. GvSVn
  70. hv_fetchs
  71. hv_stores
  72. HvNAME_get
  73. HvNAMELEN_get
  74. IN_LOCALE
  75. IN_LOCALE_COMPILETIME
  76. IN_LOCALE_RUNTIME
  77. IN_PERL_COMPILETIME
  78. INT2PTR
  79. IS_NUMBER_GREATER_THAN_UV_MAX
  80. IS_NUMBER_IN_UV
  81. IS_NUMBER_INFINITY
  82. IS_NUMBER_NAN
  83. IS_NUMBER_NEG
  84. IS_NUMBER_NOT_INT
  85. isALNUMC
  86. isASCII
  87. isBLANK
  88. isCNTRL
  89. isGRAPH
  90. isGV_with_GP
  91. isPRINT
  92. isPSXSPC
  93. isPUNCT
  94. isXDIGIT
  95. IVdf
  96. IVSIZE
  97. IVTYPE
  98. load_module
  99. memEQ
  100. memEQs
  101. memNE
  102. memNEs
  103. MoveD
  104. mPUSHi
  105. mPUSHn
  106. mPUSHp
  107. mPUSHs
  108. mPUSHu
  109. mXPUSHi
  110. mXPUSHn
  111. mXPUSHp
  112. mXPUSHs
  113. mXPUSHu
  114. MY_CXT
  115. MY_CXT_CLONE
  116. MY_CXT_INIT
  117. my_snprintf
  118. my_sprintf
  119. my_strlcat
  120. my_strlcpy
  121. newCONSTSUB
  122. newRV_inc
  123. newRV_noinc
  124. newSV_type
  125. newSVpvn
  126. newSVpvn_flags
  127. newSVpvn_share
  128. newSVpvn_utf8
  129. newSVpvs
  130. newSVpvs_flags
  131. newSVpvs_share
  132. newSVuv
  133. Newx
  134. Newxc
  135. Newxz
  136. NOOP
  137. NUM2PTR
  138. NVef
  139. NVff
  140. NVgf
  141. NVTYPE
  142. packWARN
  143. PERL_ABS
  144. PERL_BCDVERSION
  145. PERL_GCC_BRACE_GROUPS_FORBIDDEN
  146. PERL_HASH
  147. PERL_INT_MAX
  148. PERL_INT_MIN
  149. PERL_LONG_MAX
  150. PERL_LONG_MIN
  151. PERL_MAGIC_arylen
  152. PERL_MAGIC_backref
  153. PERL_MAGIC_bm
  154. PERL_MAGIC_collxfrm
  155. PERL_MAGIC_dbfile
  156. PERL_MAGIC_dbline
  157. PERL_MAGIC_defelem
  158. PERL_MAGIC_env
  159. PERL_MAGIC_envelem
  160. PERL_MAGIC_ext
  161. PERL_MAGIC_fm
  162. PERL_MAGIC_glob
  163. PERL_MAGIC_isa
  164. PERL_MAGIC_isaelem
  165. PERL_MAGIC_mutex
  166. PERL_MAGIC_nkeys
  167. PERL_MAGIC_overload
  168. PERL_MAGIC_overload_elem
  169. PERL_MAGIC_overload_table
  170. PERL_MAGIC_pos
  171. PERL_MAGIC_qr
  172. PERL_MAGIC_regdata
  173. PERL_MAGIC_regdatum
  174. PERL_MAGIC_regex_global
  175. PERL_MAGIC_shared
  176. PERL_MAGIC_shared_scalar
  177. PERL_MAGIC_sig
  178. PERL_MAGIC_sigelem
  179. PERL_MAGIC_substr
  180. PERL_MAGIC_sv
  181. PERL_MAGIC_taint
  182. PERL_MAGIC_tied
  183. PERL_MAGIC_tiedelem
  184. PERL_MAGIC_tiedscalar
  185. PERL_MAGIC_utf8
  186. PERL_MAGIC_uvar
  187. PERL_MAGIC_uvar_elem
  188. PERL_MAGIC_vec
  189. PERL_MAGIC_vstring
  190. PERL_PV_ESCAPE_ALL
  191. PERL_PV_ESCAPE_FIRSTCHAR
  192. PERL_PV_ESCAPE_NOBACKSLASH
  193. PERL_PV_ESCAPE_NOCLEAR
  194. PERL_PV_ESCAPE_QUOTE
  195. PERL_PV_ESCAPE_RE
  196. PERL_PV_ESCAPE_UNI
  197. PERL_PV_ESCAPE_UNI_DETECT
  198. PERL_PV_PRETTY_DUMP
  199. PERL_PV_PRETTY_ELLIPSES
  200. PERL_PV_PRETTY_LTGT
  201. PERL_PV_PRETTY_NOCLEAR
  202. PERL_PV_PRETTY_QUOTE
  203. PERL_PV_PRETTY_REGPROP
  204. PERL_QUAD_MAX
  205. PERL_QUAD_MIN
  206. PERL_REVISION
  207. PERL_SCAN_ALLOW_UNDERSCORES
  208. PERL_SCAN_DISALLOW_PREFIX
  209. PERL_SCAN_GREATER_THAN_UV_MAX
  210. PERL_SCAN_SILENT_ILLDIGIT
  211. PERL_SHORT_MAX
  212. PERL_SHORT_MIN
  213. PERL_SIGNALS_UNSAFE_FLAG
  214. PERL_SUBVERSION
  215. PERL_UCHAR_MAX
  216. PERL_UCHAR_MIN
  217. PERL_UINT_MAX
  218. PERL_UINT_MIN
  219. PERL_ULONG_MAX
  220. PERL_ULONG_MIN
  221. PERL_UNUSED_ARG
  222. PERL_UNUSED_CONTEXT
  223. PERL_UNUSED_DECL
  224. PERL_UNUSED_VAR
  225. PERL_UQUAD_MAX
  226. PERL_UQUAD_MIN
  227. PERL_USE_GCC_BRACE_GROUPS
  228. PERL_USHORT_MAX
  229. PERL_USHORT_MIN
  230. PERL_VERSION
  231. Perl_warner
  232. Perl_warner_nocontext
  233. PERLIO_FUNCS_CAST
  234. PERLIO_FUNCS_DECL
  235. PL_bufend
  236. PL_bufptr
  237. PL_compiling
  238. PL_copline
  239. PL_curcop
  240. PL_curstash
  241. PL_DBsignal
  242. PL_DBsingle
  243. PL_DBsub
  244. PL_DBtrace
  245. PL_debstash
  246. PL_defgv
  247. PL_diehook
  248. PL_dirty
  249. PL_dowarn
  250. PL_errgv
  251. PL_error_count
  252. PL_expect
  253. PL_hexdigit
  254. PL_hints
  255. PL_in_my
  256. PL_in_my_stash
  257. PL_laststatval
  258. PL_lex_state
  259. PL_lex_stuff
  260. PL_linestr
  261. PL_na
  262. PL_no_modify
  263. PL_parser
  264. PL_perl_destruct_level
  265. PL_perldb
  266. PL_ppaddr
  267. PL_rsfp
  268. PL_rsfp_filters
  269. PL_signals
  270. PL_stack_base
  271. PL_stack_sp
  272. PL_statcache
  273. PL_stdingv
  274. PL_Sv
  275. PL_sv_arenaroot
  276. PL_sv_no
  277. PL_sv_undef
  278. PL_sv_yes
  279. PL_tainted
  280. PL_tainting
  281. PL_tokenbuf
  282. pMY_CXT
  283. pMY_CXT_
  284. Poison
  285. PoisonFree
  286. PoisonNew
  287. PoisonWith
  288. pTHX
  289. pTHX_
  290. PTR2IV
  291. PTR2nat
  292. PTR2NV
  293. PTR2ul
  294. PTR2UV
  295. PTRV
  296. PUSHmortal
  297. PUSHu
  298. pv_display
  299. pv_escape
  300. pv_pretty
  301. SAVE_DEFSV
  302. START_EXTERN_C
  303. START_MY_CXT
  304. STMT_END
  305. STMT_START
  306. STR_WITH_LEN
  307. sv_2pv_flags
  308. sv_2pv_nolen
  309. sv_2pvbyte
  310. sv_2pvbyte_nolen
  311. sv_2uv
  312. sv_catpv_mg
  313. sv_catpvf_mg
  314. sv_catpvf_mg_nocontext
  315. sv_catpvn_mg
  316. sv_catpvn_nomg
  317. sv_catpvs
  318. sv_catsv_mg
  319. sv_catsv_nomg
  320. SV_CONST_RETURN
  321. SV_COW_DROP_PV
  322. SV_COW_SHARED_HASH_KEYS
  323. SV_GMAGIC
  324. SV_HAS_TRAILING_NUL
  325. SV_IMMEDIATE_UNREF
  326. sv_magic_portable
  327. SV_MUTABLE_RETURN
  328. SV_NOSTEAL
  329. sv_pvn_force_flags
  330. sv_pvn_nomg
  331. sv_setiv_mg
  332. sv_setnv_mg
  333. sv_setpv_mg
  334. sv_setpvf_mg
  335. sv_setpvf_mg_nocontext
  336. sv_setpvn_mg
  337. sv_setpvs
  338. sv_setsv_mg
  339. sv_setsv_nomg
  340. sv_setuv
  341. sv_setuv_mg
  342. SV_SMAGIC
  343. sv_usepvn_mg
  344. SV_UTF8_NO_ENCODING
  345. sv_uv
  346. sv_vcatpvf
  347. sv_vcatpvf_mg
  348. sv_vsetpvf
  349. sv_vsetpvf_mg
  350. SVf
  351. SVf_UTF8
  352. SVfARG
  353. SvGETMAGIC
  354. SvIV_nomg
  355. SvMAGIC_set
  356. SvPV_const
  357. SvPV_flags
  358. SvPV_flags_const
  359. SvPV_flags_const_nolen
  360. SvPV_flags_mutable
  361. SvPV_force
  362. SvPV_force_flags
  363. SvPV_force_flags_mutable
  364. SvPV_force_flags_nolen
  365. SvPV_force_mutable
  366. SvPV_force_nolen
  367. SvPV_force_nomg
  368. SvPV_force_nomg_nolen
  369. SvPV_mutable
  370. SvPV_nolen
  371. SvPV_nolen_const
  372. SvPV_nomg
  373. SvPV_nomg_const
  374. SvPV_nomg_const_nolen
  375. SvPV_renew
  376. SvPVbyte
  377. SvPVX_const
  378. SvPVX_mutable
  379. SvREFCNT_inc
  380. SvREFCNT_inc_NN
  381. SvREFCNT_inc_simple
  382. SvREFCNT_inc_simple_NN
  383. SvREFCNT_inc_simple_void
  384. SvREFCNT_inc_simple_void_NN
  385. SvREFCNT_inc_void
  386. SvREFCNT_inc_void_NN
  387. SvRV_set
  388. SvSHARED_HASH
  389. SvSTASH_set
  390. SvUOK
  391. SvUV
  392. SvUV_nomg
  393. SvUV_set
  394. SvUVX
  395. SvUVx
  396. SvUVXx
  397. SvVSTRING_mg
  398. UNDERBAR
  399. UTF8_MAXBYTES
  400. UVof
  401. UVSIZE
  402. UVTYPE
  403. UVuf
  404. UVxf
  405. UVXf
  406. vload_module
  407. vnewSVpvf
  408. WARN_ALL
  409. WARN_AMBIGUOUS
  410. WARN_ASSERTIONS
  411. WARN_BAREWORD
  412. WARN_CLOSED
  413. WARN_CLOSURE
  414. WARN_DEBUGGING
  415. WARN_DEPRECATED
  416. WARN_DIGIT
  417. WARN_EXEC
  418. WARN_EXITING
  419. WARN_GLOB
  420. WARN_INPLACE
  421. WARN_INTERNAL
  422. WARN_IO
  423. WARN_LAYER
  424. WARN_MALLOC
  425. WARN_MISC
  426. WARN_NEWLINE
  427. WARN_NUMERIC
  428. WARN_ONCE
  429. WARN_OVERFLOW
  430. WARN_PACK
  431. WARN_PARENTHESIS
  432. WARN_PIPE
  433. WARN_PORTABLE
  434. WARN_PRECEDENCE
  435. WARN_PRINTF
  436. WARN_PROTOTYPE
  437. WARN_QW
  438. WARN_RECURSION
  439. WARN_REDEFINE
  440. WARN_REGEXP
  441. WARN_RESERVED
  442. WARN_SEMICOLON
  443. WARN_SEVERE
  444. WARN_SIGNAL
  445. WARN_SUBSTR
  446. WARN_SYNTAX
  447. WARN_TAINT
  448. WARN_THREADS
  449. WARN_UNINITIALIZED
  450. WARN_UNOPENED
  451. WARN_UNPACK
  452. WARN_UNTIE
  453. WARN_UTF8
  454. WARN_VOID
  455. warner
  456. XCPT_CATCH
  457. XCPT_RETHROW
  458. XCPT_TRY_END
  459. XCPT_TRY_START
  460. XPUSHmortal
  461. XPUSHu
  462. XSprePUSH
  463. XSPROTO
  464. XSRETURN
  465. XSRETURN_UV
  466. XST_mUV
  467. 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.14.0
    1. BhkDISABLE
    2. BhkENABLE
    3. BhkENTRY_set
    4. MULTICALL
    5. PERL_SYS_TERM
    6. POP_MULTICALL
    7. PUSH_MULTICALL
    8. XopDISABLE
    9. XopENABLE
    10. XopENTRY
    11. XopENTRY_set
    12. cophh_new_empty
    13. my_lstat
    14. my_stat
    15. ref
    16. stashpv_hvname_match
  • perl 5.13.10
    1. foldEQ_utf8_flags
    2. is_utf8_xidcont
    3. is_utf8_xidfirst
  • perl 5.13.8
    1. foldEQ_latin1
    2. mg_findext
    3. parse_arithexpr
    4. parse_fullexpr
    5. parse_listexpr
    6. parse_termexpr
    7. sv_unmagicext
  • perl 5.13.7
    1. HvENAME
    2. OP_CLASS
    3. SvPV_nomg_nolen
    4. XopFLAGS
    5. amagic_deref_call
    6. bytes_cmp_utf8
    7. cop_hints_2hv
    8. cop_hints_fetch_pv
    9. cop_hints_fetch_pvn
    10. cop_hints_fetch_pvs
    11. cop_hints_fetch_sv
    12. cophh_2hv
    13. cophh_copy
    14. cophh_delete_pv
    15. cophh_delete_pvn
    16. cophh_delete_pvs
    17. cophh_delete_sv
    18. cophh_fetch_pv
    19. cophh_fetch_pvn
    20. cophh_fetch_pvs
    21. cophh_fetch_sv
    22. cophh_free
    23. cophh_store_pv
    24. cophh_store_pvn
    25. cophh_store_pvs
    26. cophh_store_sv
    27. custom_op_register
    28. custom_op_xop
    29. newFOROP
    30. newWHILEOP
    31. op_lvalue
    32. op_scope
    33. parse_barestmt
    34. parse_block
    35. parse_label
  • perl 5.13.6
    1. LINKLIST
    2. SvTRUE_nomg
    3. ck_entersub_args_list
    4. ck_entersub_args_proto
    5. ck_entersub_args_proto_or_list
    6. cv_get_call_checker
    7. cv_set_call_checker
    8. isWORDCHAR
    9. lex_stuff_pv
    10. mg_free_type
    11. newSVpv_share
    12. op_append_elem
    13. op_append_list
    14. op_contextualize
    15. op_linklist
    16. op_prepend_elem
    17. parse_stmtseq
    18. rv2cv_op_cv
    19. savesharedpvs
    20. savesharedsvpv
    21. sv_2bool_flags
    22. sv_catpv_flags
    23. sv_catpv_nomg
    24. sv_catpvs_flags
    25. sv_catpvs_mg
    26. sv_catpvs_nomg
    27. sv_cmp_flags
    28. sv_cmp_locale_flags
    29. sv_collxfrm_flags
    30. sv_eq_flags
    31. sv_setpvs_mg
    32. sv_setref_pvs
  • perl 5.13.5
    1. PL_rpeepp
    2. caller_cx
    3. isOCTAL
    4. lex_stuff_pvs
    5. parse_fullstmt
  • perl 5.13.4
    1. XS_APIVERSION_BOOTCHECK
  • perl 5.13.3
    1. blockhook_register
    2. croak_no_modify
  • perl 5.13.2
    1. SvNV_nomg
    2. find_rundefsv
    3. foldEQ
    4. foldEQ_locale
    5. foldEQ_utf8
    6. hv_fill
    7. sv_dec_nomg
    8. sv_inc_nomg
  • perl 5.13.1
    1. croak_sv
    2. die_sv
    3. mess_sv
    4. sv_2nv_flags
    5. warn_sv
  • perl 5.11.5
    1. sv_pos_u2b_flags
  • perl 5.11.4
    1. prescan_version
  • perl 5.11.2
    1. PL_keyword_plugin
    2. lex_bufutf8
    3. lex_discard_to
    4. lex_grow_linestr
    5. lex_next_chunk
    6. lex_peek_unichar
    7. lex_read_space
    8. lex_read_to
    9. lex_read_unichar
    10. lex_stuff_pvn
    11. lex_stuff_sv
    12. lex_unstuff
    13. pad_findmy
  • perl 5.11.1
    1. ck_warner
    2. ck_warner_d
    3. is_utf8_perl_space
    4. is_utf8_perl_word
    5. is_utf8_posix_digit
  • perl 5.11.0
    1. Gv_AMupdate
    2. PL_opfreehook
    3. SvOOK_offset
    4. av_iter_p
    5. fetch_cop_label
    6. gv_add_by_type
    7. gv_fetchmethod_flags
    8. is_ascii_string
    9. pregfree2
    10. save_adelete
    11. save_aelem_flags
    12. save_hdelete
    13. save_helem_flags
    14. sv_utf8_upgrade_flags_grow
  • perl 5.10.1
    1. HeUTF8
    2. croak_xs_usage
    3. mro_get_from_name
    4. mro_get_private_data
    5. mro_register
    6. mro_set_mro
    7. mro_set_private_data
    8. save_hints
    9. save_padsv_and_mortalize
    10. save_pushi32ptr
    11. save_pushptr
    12. save_pushptrptr
    13. sv_insert_flags
  • 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. PL_parser
    2. Perl_signbit
    3. SvRX
    4. SvRXOK
    5. av_create_and_push
    6. av_create_and_unshift_one
    7. gv_fetchfile_flags
    8. lex_start
    9. mro_get_linear_isa
    10. mro_method_changed_in
    11. my_dirfd
    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. regfree_internal
    28. savesharedpvn
    29. scan_vstring
    30. upg_version
  • perl 5.9.4
    1. PerlIO_context_layers
    2. gv_name_set
    3. hv_copy_hints_hv
    4. my_vsnprintf
    5. newXS_flags
    6. regclass_swash
    7. sv_does
    8. 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. hv_eiter_p
    9. hv_eiter_set
    10. hv_name_set
    11. hv_placeholders_get
    12. hv_placeholders_p
    13. hv_placeholders_set
    14. hv_riter_p
    15. hv_riter_set
    16. is_utf8_string_loclen
    17. newGIVENOP
    18. newSVhek
    19. newWHENOP
    20. savepvs
    21. sortsv_flags
    22. vverify
  • perl 5.9.2
    1. SvPVbyte_force
    2. find_rundefsvoffset
    3. op_refcnt_lock
    4. op_refcnt_unlock
    5. savesvpv
    6. 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. OP_DESC
    2. OP_NAME
    3. PL_peepp
    4. PerlIO_clearerr
    5. PerlIO_close
    6. PerlIO_eof
    7. PerlIO_error
    8. PerlIO_fileno
    9. PerlIO_fill
    10. PerlIO_flush
    11. PerlIO_get_base
    12. PerlIO_get_bufsiz
    13. PerlIO_get_cnt
    14. PerlIO_get_ptr
    15. PerlIO_read
    16. PerlIO_seek
    17. PerlIO_set_cnt
    18. PerlIO_set_ptrcnt
    19. PerlIO_setlinebuf
    20. PerlIO_stderr
    21. PerlIO_stdin
    22. PerlIO_stdout
    23. PerlIO_tell
    24. PerlIO_unread
    25. PerlIO_write
    26. SvLOCK
    27. SvSHARE
    28. SvUNLOCK
    29. atfork_lock
    30. atfork_unlock
    31. custom_op_desc
    32. custom_op_name
    33. deb
    34. debstack
    35. debstackptrs
    36. gv_fetchmeth_autoload
    37. ibcmp_utf8
    38. my_fork
    39. my_socketpair
    40. pack_cat
    41. perl_destruct
    42. pv_uni_display
    43. save_shared_pvref
    44. savesharedpv
    45. sortsv
    46. sv_copypv
    47. sv_magicext
    48. sv_nolocking
    49. sv_nosharing
    50. sv_recode_to_utf8
    51. sv_uni_display
    52. to_uni_fold
    53. to_uni_lower
    54. to_uni_title
    55. to_uni_upper
    56. to_utf8_case
    57. to_utf8_fold
    58. to_utf8_lower
    59. to_utf8_title
    60. to_utf8_upper
    61. unpack_str
    62. uvchr_to_utf8_flags
    63. uvuni_to_utf8_flags
    64. 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. sv_utf8_upgrade_nomg
    16. 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. scan_num
    10. sv_force_normal_flags
    11. sv_setref_uv
    12. sv_unref_flags
    13. sv_utf8_upgrade
    14. utf8_length
    15. utf8_to_uvchr
    16. utf8_to_uvuni
    17. utf8n_to_uvuni
    18. 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. PERL_SYS_INIT3
    2. SvIOK_UV
    3. SvIOK_notUV
    4. SvIOK_only_UV
    5. SvPOK_only_UTF8
    6. SvPVbyte_nolen
    7. SvPVbytex
    8. SvPVbytex_force
    9. SvPVutf8
    10. SvPVutf8_force
    11. SvPVutf8_nolen
    12. SvPVutf8x
    13. SvPVutf8x_force
    14. SvUOK
    15. SvUTF8
    16. SvUTF8_off
    17. SvUTF8_on
    18. av_delete
    19. av_exists
    20. call_atexit
    21. cast_i32
    22. cast_iv
    23. cast_ulong
    24. cast_uv
    25. do_gv_dump
    26. do_gvgv_dump
    27. do_hv_dump
    28. do_magic_dump
    29. do_op_dump
    30. do_open9
    31. do_pmop_dump
    32. do_sv_dump
    33. dump_all
    34. dump_eval
    35. dump_form
    36. dump_indent
    37. dump_packsubs
    38. dump_sub
    39. dump_vindent
    40. get_context
    41. get_ppaddr
    42. gv_dump
    43. init_i18nl10n
    44. init_i18nl14n
    45. is_uni_alnum
    46. is_uni_alnum_lc
    47. is_uni_alpha
    48. is_uni_alpha_lc
    49. is_uni_ascii
    50. is_uni_ascii_lc
    51. is_uni_cntrl
    52. is_uni_cntrl_lc
    53. is_uni_digit
    54. is_uni_digit_lc
    55. is_uni_graph
    56. is_uni_graph_lc
    57. is_uni_idfirst
    58. is_uni_idfirst_lc
    59. is_uni_lower
    60. is_uni_lower_lc
    61. is_uni_print
    62. is_uni_print_lc
    63. is_uni_punct
    64. is_uni_punct_lc
    65. is_uni_space
    66. is_uni_space_lc
    67. is_uni_upper
    68. is_uni_upper_lc
    69. is_uni_xdigit
    70. is_uni_xdigit_lc
    71. is_utf8_alnum
    72. is_utf8_alpha
    73. is_utf8_ascii
    74. is_utf8_char
    75. is_utf8_cntrl
    76. is_utf8_digit
    77. is_utf8_graph
    78. is_utf8_idfirst
    79. is_utf8_lower
    80. is_utf8_mark
    81. is_utf8_print
    82. is_utf8_punct
    83. is_utf8_space
    84. is_utf8_upper
    85. is_utf8_xdigit
    86. magic_dump
    87. mess
    88. my_atof
    89. my_fflush_all
    90. newANONATTRSUB
    91. newATTRSUB
    92. newXS
    93. newXSproto
    94. new_collate
    95. new_ctype
    96. new_numeric
    97. op_dump
    98. perl_parse
    99. pmop_dump
    100. re_intuit_string
    101. reginitcolors
    102. require_pv
    103. safesyscalloc
    104. safesysfree
    105. safesysmalloc
    106. safesysrealloc
    107. save_I8
    108. save_alloc
    109. save_destructor
    110. save_destructor_x
    111. save_re_context
    112. save_vptr
    113. scan_bin
    114. set_context
    115. set_numeric_local
    116. set_numeric_radix
    117. set_numeric_standard
    118. str_to_version
    119. sv_2pvutf8
    120. sv_2pvutf8_nolen
    121. sv_force_normal
    122. sv_len_utf8
    123. sv_pos_b2u
    124. sv_pos_u2b
    125. sv_pv
    126. sv_pvbyte
    127. sv_pvbyten
    128. sv_pvbyten_force
    129. sv_pvutf8
    130. sv_pvutf8n
    131. sv_pvutf8n_force
    132. sv_rvweaken
    133. sv_utf8_decode
    134. sv_utf8_downgrade
    135. sv_utf8_encode
    136. swash_init
    137. tmps_grow
    138. to_uni_lower_lc
    139. to_uni_title_lc
    140. to_uni_upper_lc
    141. utf8_distance
    142. utf8_hop
    143. vcroak
    144. vform
    145. vmess
    146. vwarn
    147. 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. save_op
    21. screaminstr
    22. sv_iv
    23. sv_nv
    24. sv_peek
    25. sv_pvn
    26. sv_pvn_nomg
    27. 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-2010, 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.