Better POD
[authen-passphrase-scrypt.git] / ppport.h
CommitLineData
0c1f3509
MG
1#if 0
2<<'SKIP';
3#endif
4/*
5----------------------------------------------------------------------
6
7 ppport.h -- Perl/Pollution/Portability Version 3.32
8
9 Automatically created by Devel::PPPort running under perl 5.024001.
10
11 Do NOT edit this file directly! -- Edit PPPort_pm.PL and the
12 includes in parts/inc/ instead.
13
14 Use 'perldoc ppport.h' to view the documentation below.
15
16----------------------------------------------------------------------
17
18SKIP
19
20=pod
21
22=head1 NAME
23
24ppport.h - Perl/Pollution/Portability version 3.32
25
26=head1 SYNOPSIS
27
28 perl ppport.h [options] [source files]
29
30 Searches current directory for files if no [source files] are given
31
32 --help show short help
33
34 --version show version
35
36 --patch=file write one patch file with changes
37 --copy=suffix write changed copies with suffix
38 --diff=program use diff program and options
39
40 --compat-version=version provide compatibility with Perl version
41 --cplusplus accept C++ comments
42
43 --quiet don't output anything except fatal errors
44 --nodiag don't show diagnostics
45 --nohints don't show hints
46 --nochanges don't suggest changes
47 --nofilter don't filter input files
48
49 --strip strip all script and doc functionality from
50 ppport.h
51
52 --list-provided list provided API
53 --list-unsupported list unsupported API
54 --api-info=name show Perl API portability information
55
56=head1 COMPATIBILITY
57
58This version of F<ppport.h> is designed to support operation with Perl
59installations back to 5.003, and has been tested up to 5.20.
60
61=head1 OPTIONS
62
63=head2 --help
64
65Display a brief usage summary.
66
67=head2 --version
68
69Display the version of F<ppport.h>.
70
71=head2 --patch=I<file>
72
73If this option is given, a single patch file will be created if
74any changes are suggested. This requires a working diff program
75to be installed on your system.
76
77=head2 --copy=I<suffix>
78
79If this option is given, a copy of each file will be saved with
80the given suffix that contains the suggested changes. This does
81not require any external programs. Note that this does not
82automagically add a dot between the original filename and the
83suffix. If you want the dot, you have to include it in the option
84argument.
85
86If neither C<--patch> or C<--copy> are given, the default is to
87simply print the diffs for each file. This requires either
88C<Text::Diff> or a C<diff> program to be installed.
89
90=head2 --diff=I<program>
91
92Manually set the diff program and options to use. The default
93is to use C<Text::Diff>, when installed, and output unified
94context diffs.
95
96=head2 --compat-version=I<version>
97
98Tell F<ppport.h> to check for compatibility with the given
99Perl version. The default is to check for compatibility with Perl
100version 5.003. You can use this option to reduce the output
101of F<ppport.h> if you intend to be backward compatible only
102down to a certain Perl version.
103
104=head2 --cplusplus
105
106Usually, F<ppport.h> will detect C++ style comments and
107replace them with C style comments for portability reasons.
108Using this option instructs F<ppport.h> to leave C++
109comments untouched.
110
111=head2 --quiet
112
113Be quiet. Don't print anything except fatal errors.
114
115=head2 --nodiag
116
117Don't output any diagnostic messages. Only portability
118alerts will be printed.
119
120=head2 --nohints
121
122Don't output any hints. Hints often contain useful portability
123notes. Warnings will still be displayed.
124
125=head2 --nochanges
126
127Don't suggest any changes. Only give diagnostic output and hints
128unless these are also deactivated.
129
130=head2 --nofilter
131
132Don't filter the list of input files. By default, files not looking
133like source code (i.e. not *.xs, *.c, *.cc, *.cpp or *.h) are skipped.
134
135=head2 --strip
136
137Strip all script and documentation functionality from F<ppport.h>.
138This reduces the size of F<ppport.h> dramatically and may be useful
139if you want to include F<ppport.h> in smaller modules without
140increasing their distribution size too much.
141
142The stripped F<ppport.h> will have a C<--unstrip> option that allows
143you to undo the stripping, but only if an appropriate C<Devel::PPPort>
144module is installed.
145
146=head2 --list-provided
147
148Lists the API elements for which compatibility is provided by
149F<ppport.h>. Also lists if it must be explicitly requested,
150if it has dependencies, and if there are hints or warnings for it.
151
152=head2 --list-unsupported
153
154Lists the API elements that are known not to be supported by
155F<ppport.h> and below which version of Perl they probably
156won't be available or work.
157
158=head2 --api-info=I<name>
159
160Show portability information for API elements matching I<name>.
161If I<name> is surrounded by slashes, it is interpreted as a regular
162expression.
163
164=head1 DESCRIPTION
165
166In order for a Perl extension (XS) module to be as portable as possible
167across differing versions of Perl itself, certain steps need to be taken.
168
169=over 4
170
171=item *
172
173Including this header is the first major one. This alone will give you
174access to a large part of the Perl API that hasn't been available in
175earlier Perl releases. Use
176
177 perl ppport.h --list-provided
178
179to see which API elements are provided by ppport.h.
180
181=item *
182
183You should avoid using deprecated parts of the API. For example, using
184global Perl variables without the C<PL_> prefix is deprecated. Also,
185some API functions used to have a C<perl_> prefix. Using this form is
186also deprecated. You can safely use the supported API, as F<ppport.h>
187will provide wrappers for older Perl versions.
188
189=item *
190
191If you use one of a few functions or variables that were not present in
192earlier versions of Perl, and that can't be provided using a macro, you
193have to explicitly request support for these functions by adding one or
194more C<#define>s in your source code before the inclusion of F<ppport.h>.
195
196These functions or variables will be marked C<explicit> in the list shown
197by C<--list-provided>.
198
199Depending on whether you module has a single or multiple files that
200use such functions or variables, you want either C<static> or global
201variants.
202
203For a C<static> function or variable (used only in a single source
204file), use:
205
206 #define NEED_function
207 #define NEED_variable
208
209For a global function or variable (used in multiple source files),
210use:
211
212 #define NEED_function_GLOBAL
213 #define NEED_variable_GLOBAL
214
215Note that you mustn't have more than one global request for the
216same function or variable in your project.
217
218 Function / Variable Static Request Global Request
219 -----------------------------------------------------------------------------------------
220 PL_parser NEED_PL_parser NEED_PL_parser_GLOBAL
221 PL_signals NEED_PL_signals NEED_PL_signals_GLOBAL
222 caller_cx() NEED_caller_cx NEED_caller_cx_GLOBAL
223 eval_pv() NEED_eval_pv NEED_eval_pv_GLOBAL
224 grok_bin() NEED_grok_bin NEED_grok_bin_GLOBAL
225 grok_hex() NEED_grok_hex NEED_grok_hex_GLOBAL
226 grok_number() NEED_grok_number NEED_grok_number_GLOBAL
227 grok_numeric_radix() NEED_grok_numeric_radix NEED_grok_numeric_radix_GLOBAL
228 grok_oct() NEED_grok_oct NEED_grok_oct_GLOBAL
229 load_module() NEED_load_module NEED_load_module_GLOBAL
230 mg_findext() NEED_mg_findext NEED_mg_findext_GLOBAL
231 my_snprintf() NEED_my_snprintf NEED_my_snprintf_GLOBAL
232 my_sprintf() NEED_my_sprintf NEED_my_sprintf_GLOBAL
233 my_strlcat() NEED_my_strlcat NEED_my_strlcat_GLOBAL
234 my_strlcpy() NEED_my_strlcpy NEED_my_strlcpy_GLOBAL
235 newCONSTSUB() NEED_newCONSTSUB NEED_newCONSTSUB_GLOBAL
236 newRV_noinc() NEED_newRV_noinc NEED_newRV_noinc_GLOBAL
237 newSV_type() NEED_newSV_type NEED_newSV_type_GLOBAL
238 newSVpvn_flags() NEED_newSVpvn_flags NEED_newSVpvn_flags_GLOBAL
239 newSVpvn_share() NEED_newSVpvn_share NEED_newSVpvn_share_GLOBAL
240 pv_display() NEED_pv_display NEED_pv_display_GLOBAL
241 pv_escape() NEED_pv_escape NEED_pv_escape_GLOBAL
242 pv_pretty() NEED_pv_pretty NEED_pv_pretty_GLOBAL
243 sv_2pv_flags() NEED_sv_2pv_flags NEED_sv_2pv_flags_GLOBAL
244 sv_2pvbyte() NEED_sv_2pvbyte NEED_sv_2pvbyte_GLOBAL
245 sv_catpvf_mg() NEED_sv_catpvf_mg NEED_sv_catpvf_mg_GLOBAL
246 sv_catpvf_mg_nocontext() NEED_sv_catpvf_mg_nocontext NEED_sv_catpvf_mg_nocontext_GLOBAL
247 sv_pvn_force_flags() NEED_sv_pvn_force_flags NEED_sv_pvn_force_flags_GLOBAL
248 sv_setpvf_mg() NEED_sv_setpvf_mg NEED_sv_setpvf_mg_GLOBAL
249 sv_setpvf_mg_nocontext() NEED_sv_setpvf_mg_nocontext NEED_sv_setpvf_mg_nocontext_GLOBAL
250 sv_unmagicext() NEED_sv_unmagicext NEED_sv_unmagicext_GLOBAL
251 vload_module() NEED_vload_module NEED_vload_module_GLOBAL
252 vnewSVpvf() NEED_vnewSVpvf NEED_vnewSVpvf_GLOBAL
253 warner() NEED_warner NEED_warner_GLOBAL
254
255To avoid namespace conflicts, you can change the namespace of the
256explicitly exported functions / variables using the C<DPPP_NAMESPACE>
257macro. Just C<#define> the macro before including C<ppport.h>:
258
259 #define DPPP_NAMESPACE MyOwnNamespace_
260 #include "ppport.h"
261
262The default namespace is C<DPPP_>.
263
264=back
265
266The good thing is that most of the above can be checked by running
267F<ppport.h> on your source code. See the next section for
268details.
269
270=head1 EXAMPLES
271
272To verify whether F<ppport.h> is needed for your module, whether you
273should make any changes to your code, and whether any special defines
274should be used, F<ppport.h> can be run as a Perl script to check your
275source code. Simply say:
276
277 perl ppport.h
278
279The result will usually be a list of patches suggesting changes
280that should at least be acceptable, if not necessarily the most
281efficient solution, or a fix for all possible problems.
282
283If you know that your XS module uses features only available in
284newer Perl releases, if you're aware that it uses C++ comments,
285and if you want all suggestions as a single patch file, you could
286use something like this:
287
288 perl ppport.h --compat-version=5.6.0 --cplusplus --patch=test.diff
289
290If you only want your code to be scanned without any suggestions
291for changes, use:
292
293 perl ppport.h --nochanges
294
295You can specify a different C<diff> program or options, using
296the C<--diff> option:
297
298 perl ppport.h --diff='diff -C 10'
299
300This would output context diffs with 10 lines of context.
301
302If you want to create patched copies of your files instead, use:
303
304 perl ppport.h --copy=.new
305
306To display portability information for the C<newSVpvn> function,
307use:
308
309 perl ppport.h --api-info=newSVpvn
310
311Since the argument to C<--api-info> can be a regular expression,
312you can use
313
314 perl ppport.h --api-info=/_nomg$/
315
316to display portability information for all C<_nomg> functions or
317
318 perl ppport.h --api-info=/./
319
320to display information for all known API elements.
321
322=head1 BUGS
323
324If this version of F<ppport.h> is causing failure during
325the compilation of this module, please check if newer versions
326of either this module or C<Devel::PPPort> are available on CPAN
327before sending a bug report.
328
329If F<ppport.h> was generated using the latest version of
330C<Devel::PPPort> and is causing failure of this module, please
331file a bug report here: L<https://github.com/mhx/Devel-PPPort/issues/>
332
333Please include the following information:
334
335=over 4
336
337=item 1.
338
339The complete output from running "perl -V"
340
341=item 2.
342
343This file.
344
345=item 3.
346
347The name and version of the module you were trying to build.
348
349=item 4.
350
351A full log of the build that failed.
352
353=item 5.
354
355Any other information that you think could be relevant.
356
357=back
358
359For the latest version of this code, please get the C<Devel::PPPort>
360module from CPAN.
361
362=head1 COPYRIGHT
363
364Version 3.x, Copyright (c) 2004-2013, Marcus Holland-Moritz.
365
366Version 2.x, Copyright (C) 2001, Paul Marquess.
367
368Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
369
370This program is free software; you can redistribute it and/or
371modify it under the same terms as Perl itself.
372
373=head1 SEE ALSO
374
375See L<Devel::PPPort>.
376
377=cut
378
379use strict;
380
381# Disable broken TRIE-optimization
382BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if $] >= 5.009004 && $] <= 5.009005 }
383
384my $VERSION = 3.32;
385
386my %opt = (
387 quiet => 0,
388 diag => 1,
389 hints => 1,
390 changes => 1,
391 cplusplus => 0,
392 filter => 1,
393 strip => 0,
394 version => 0,
395);
396
397my($ppport) = $0 =~ /([\w.]+)$/;
398my $LF = '(?:\r\n|[\r\n])'; # line feed
399my $HS = "[ \t]"; # horizontal whitespace
400
401# Never use C comments in this file!
402my $ccs = '/'.'*';
403my $cce = '*'.'/';
404my $rccs = quotemeta $ccs;
405my $rcce = quotemeta $cce;
406
407eval {
408 require Getopt::Long;
409 Getopt::Long::GetOptions(\%opt, qw(
410 help quiet diag! filter! hints! changes! cplusplus strip version
411 patch=s copy=s diff=s compat-version=s
412 list-provided list-unsupported api-info=s
413 )) or usage();
414};
415
416if ($@ and grep /^-/, @ARGV) {
417 usage() if "@ARGV" =~ /^--?h(?:elp)?$/;
418 die "Getopt::Long not found. Please don't use any options.\n";
419}
420
421if ($opt{version}) {
422 print "This is $0 $VERSION.\n";
423 exit 0;
424}
425
426usage() if $opt{help};
427strip() if $opt{strip};
428
429if (exists $opt{'compat-version'}) {
430 my($r,$v,$s) = eval { parse_version($opt{'compat-version'}) };
431 if ($@) {
432 die "Invalid version number format: '$opt{'compat-version'}'\n";
433 }
434 die "Only Perl 5 is supported\n" if $r != 5;
435 die "Invalid version number: $opt{'compat-version'}\n" if $v >= 1000 || $s >= 1000;
436 $opt{'compat-version'} = sprintf "%d.%03d%03d", $r, $v, $s;
437}
438else {
439 $opt{'compat-version'} = 5;
440}
441
442my %API = map { /^(\w+)\|([^|]*)\|([^|]*)\|(\w*)$/
443 ? ( $1 => {
444 ($2 ? ( base => $2 ) : ()),
445 ($3 ? ( todo => $3 ) : ()),
446 (index($4, 'v') >= 0 ? ( varargs => 1 ) : ()),
447 (index($4, 'p') >= 0 ? ( provided => 1 ) : ()),
448 (index($4, 'n') >= 0 ? ( nothxarg => 1 ) : ()),
449 } )
450 : die "invalid spec: $_" } qw(
451ASCII_TO_NEED||5.007001|n
452AvFILLp|5.004050||p
453AvFILL|||
454BhkDISABLE||5.021008|
455BhkENABLE||5.021008|
456BhkENTRY_set||5.021008|
457BhkENTRY|||
458BhkFLAGS|||
459CALL_BLOCK_HOOKS|||
460CLASS|||n
461CPERLscope|5.005000||p
462CX_CURPAD_SAVE|||
463CX_CURPAD_SV|||
464CopFILEAV|5.006000||p
465CopFILEGV_set|5.006000||p
466CopFILEGV|5.006000||p
467CopFILESV|5.006000||p
468CopFILE_set|5.006000||p
469CopFILE|5.006000||p
470CopSTASHPV_set|5.006000||p
471CopSTASHPV|5.006000||p
472CopSTASH_eq|5.006000||p
473CopSTASH_set|5.006000||p
474CopSTASH|5.006000||p
475CopyD|5.009002|5.004050|p
476Copy|||
477CvPADLIST||5.008001|
478CvSTASH|||
479CvWEAKOUTSIDE|||
480DEFSV_set|5.010001||p
481DEFSV|5.004050||p
482END_EXTERN_C|5.005000||p
483ENTER|||
484ERRSV|5.004050||p
485EXTEND|||
486EXTERN_C|5.005000||p
487F0convert|||n
488FREETMPS|||
489GIMME_V||5.004000|n
490GIMME|||n
491GROK_NUMERIC_RADIX|5.007002||p
492G_ARRAY|||
493G_DISCARD|||
494G_EVAL|||
495G_METHOD|5.006001||p
496G_NOARGS|||
497G_SCALAR|||
498G_VOID||5.004000|
499GetVars|||
500GvAV|||
501GvCV|||
502GvHV|||
503GvSVn|5.009003||p
504GvSV|||
505Gv_AMupdate||5.011000|
506HEf_SVKEY|5.003070||p
507HeHASH||5.003070|
508HeKEY||5.003070|
509HeKLEN||5.003070|
510HePV||5.004000|
511HeSVKEY_force||5.003070|
512HeSVKEY_set||5.004000|
513HeSVKEY||5.003070|
514HeUTF8|5.010001|5.008000|p
515HeVAL||5.003070|
516HvENAMELEN||5.015004|
517HvENAMEUTF8||5.015004|
518HvENAME||5.013007|
519HvNAMELEN_get|5.009003||p
520HvNAMELEN||5.015004|
521HvNAMEUTF8||5.015004|
522HvNAME_get|5.009003||p
523HvNAME|||
524INT2PTR|5.006000||p
525IN_LOCALE_COMPILETIME|5.007002||p
526IN_LOCALE_RUNTIME|5.007002||p
527IN_LOCALE|5.007002||p
528IN_PERL_COMPILETIME|5.008001||p
529IS_NUMBER_GREATER_THAN_UV_MAX|5.007002||p
530IS_NUMBER_INFINITY|5.007002||p
531IS_NUMBER_IN_UV|5.007002||p
532IS_NUMBER_NAN|5.007003||p
533IS_NUMBER_NEG|5.007002||p
534IS_NUMBER_NOT_INT|5.007002||p
535IVSIZE|5.006000||p
536IVTYPE|5.006000||p
537IVdf|5.006000||p
538LEAVE|||
539LINKLIST||5.013006|
540LVRET|||
541MARK|||
542MULTICALL||5.021008|
543MUTABLE_PTR|5.010001||p
544MUTABLE_SV|5.010001||p
545MY_CXT_CLONE|5.009002||p
546MY_CXT_INIT|5.007003||p
547MY_CXT|5.007003||p
548MoveD|5.009002|5.004050|p
549Move|||
550NATIVE_TO_NEED||5.007001|n
551NOOP|5.005000||p
552NUM2PTR|5.006000||p
553NVTYPE|5.006000||p
554NVef|5.006001||p
555NVff|5.006001||p
556NVgf|5.006001||p
557Newxc|5.009003||p
558Newxz|5.009003||p
559Newx|5.009003||p
560Nullav|||
561Nullch|||
562Nullcv|||
563Nullhv|||
564Nullsv|||
565OP_CLASS||5.013007|
566OP_DESC||5.007003|
567OP_NAME||5.007003|
568OP_TYPE_IS_OR_WAS||5.019010|
569OP_TYPE_IS||5.019007|
570ORIGMARK|||
571OpHAS_SIBLING||5.021007|
572OpSIBLING_set||5.021007|
573OpSIBLING||5.021007|
574PAD_BASE_SV|||
575PAD_CLONE_VARS|||
576PAD_COMPNAME_FLAGS|||
577PAD_COMPNAME_GEN_set|||
578PAD_COMPNAME_GEN|||
579PAD_COMPNAME_OURSTASH|||
580PAD_COMPNAME_PV|||
581PAD_COMPNAME_TYPE|||
582PAD_RESTORE_LOCAL|||
583PAD_SAVE_LOCAL|||
584PAD_SAVE_SETNULLPAD|||
585PAD_SETSV|||
586PAD_SET_CUR_NOSAVE|||
587PAD_SET_CUR|||
588PAD_SVl|||
589PAD_SV|||
590PERLIO_FUNCS_CAST|5.009003||p
591PERLIO_FUNCS_DECL|5.009003||p
592PERL_ABS|5.008001||p
593PERL_BCDVERSION|5.021008||p
594PERL_GCC_BRACE_GROUPS_FORBIDDEN|5.008001||p
595PERL_HASH|5.003070||p
596PERL_INT_MAX|5.003070||p
597PERL_INT_MIN|5.003070||p
598PERL_LONG_MAX|5.003070||p
599PERL_LONG_MIN|5.003070||p
600PERL_MAGIC_arylen|5.007002||p
601PERL_MAGIC_backref|5.007002||p
602PERL_MAGIC_bm|5.007002||p
603PERL_MAGIC_collxfrm|5.007002||p
604PERL_MAGIC_dbfile|5.007002||p
605PERL_MAGIC_dbline|5.007002||p
606PERL_MAGIC_defelem|5.007002||p
607PERL_MAGIC_envelem|5.007002||p
608PERL_MAGIC_env|5.007002||p
609PERL_MAGIC_ext|5.007002||p
610PERL_MAGIC_fm|5.007002||p
611PERL_MAGIC_glob|5.021008||p
612PERL_MAGIC_isaelem|5.007002||p
613PERL_MAGIC_isa|5.007002||p
614PERL_MAGIC_mutex|5.021008||p
615PERL_MAGIC_nkeys|5.007002||p
616PERL_MAGIC_overload_elem|5.021008||p
617PERL_MAGIC_overload_table|5.007002||p
618PERL_MAGIC_overload|5.021008||p
619PERL_MAGIC_pos|5.007002||p
620PERL_MAGIC_qr|5.007002||p
621PERL_MAGIC_regdata|5.007002||p
622PERL_MAGIC_regdatum|5.007002||p
623PERL_MAGIC_regex_global|5.007002||p
624PERL_MAGIC_shared_scalar|5.007003||p
625PERL_MAGIC_shared|5.007003||p
626PERL_MAGIC_sigelem|5.007002||p
627PERL_MAGIC_sig|5.007002||p
628PERL_MAGIC_substr|5.007002||p
629PERL_MAGIC_sv|5.007002||p
630PERL_MAGIC_taint|5.007002||p
631PERL_MAGIC_tiedelem|5.007002||p
632PERL_MAGIC_tiedscalar|5.007002||p
633PERL_MAGIC_tied|5.007002||p
634PERL_MAGIC_utf8|5.008001||p
635PERL_MAGIC_uvar_elem|5.007003||p
636PERL_MAGIC_uvar|5.007002||p
637PERL_MAGIC_vec|5.007002||p
638PERL_MAGIC_vstring|5.008001||p
639PERL_PV_ESCAPE_ALL|5.009004||p
640PERL_PV_ESCAPE_FIRSTCHAR|5.009004||p
641PERL_PV_ESCAPE_NOBACKSLASH|5.009004||p
642PERL_PV_ESCAPE_NOCLEAR|5.009004||p
643PERL_PV_ESCAPE_QUOTE|5.009004||p
644PERL_PV_ESCAPE_RE|5.009005||p
645PERL_PV_ESCAPE_UNI_DETECT|5.009004||p
646PERL_PV_ESCAPE_UNI|5.009004||p
647PERL_PV_PRETTY_DUMP|5.009004||p
648PERL_PV_PRETTY_ELLIPSES|5.010000||p
649PERL_PV_PRETTY_LTGT|5.009004||p
650PERL_PV_PRETTY_NOCLEAR|5.010000||p
651PERL_PV_PRETTY_QUOTE|5.009004||p
652PERL_PV_PRETTY_REGPROP|5.009004||p
653PERL_QUAD_MAX|5.003070||p
654PERL_QUAD_MIN|5.003070||p
655PERL_REVISION|5.006000||p
656PERL_SCAN_ALLOW_UNDERSCORES|5.007003||p
657PERL_SCAN_DISALLOW_PREFIX|5.007003||p
658PERL_SCAN_GREATER_THAN_UV_MAX|5.007003||p
659PERL_SCAN_SILENT_ILLDIGIT|5.008001||p
660PERL_SHORT_MAX|5.003070||p
661PERL_SHORT_MIN|5.003070||p
662PERL_SIGNALS_UNSAFE_FLAG|5.008001||p
663PERL_SUBVERSION|5.006000||p
664PERL_SYS_INIT3||5.006000|
665PERL_SYS_INIT|||
666PERL_SYS_TERM||5.021008|
667PERL_UCHAR_MAX|5.003070||p
668PERL_UCHAR_MIN|5.003070||p
669PERL_UINT_MAX|5.003070||p
670PERL_UINT_MIN|5.003070||p
671PERL_ULONG_MAX|5.003070||p
672PERL_ULONG_MIN|5.003070||p
673PERL_UNUSED_ARG|5.009003||p
674PERL_UNUSED_CONTEXT|5.009004||p
675PERL_UNUSED_DECL|5.007002||p
676PERL_UNUSED_VAR|5.007002||p
677PERL_UQUAD_MAX|5.003070||p
678PERL_UQUAD_MIN|5.003070||p
679PERL_USE_GCC_BRACE_GROUPS|5.009004||p
680PERL_USHORT_MAX|5.003070||p
681PERL_USHORT_MIN|5.003070||p
682PERL_VERSION|5.006000||p
683PL_DBsignal|5.005000||p
684PL_DBsingle|||pn
685PL_DBsub|||pn
686PL_DBtrace|||pn
687PL_Sv|5.005000||p
688PL_bufend|5.021008||p
689PL_bufptr|5.021008||p
690PL_check||5.006000|
691PL_compiling|5.004050||p
692PL_comppad_name||5.017004|
693PL_comppad||5.008001|
694PL_copline|5.021008||p
695PL_curcop|5.004050||p
696PL_curpad||5.005000|
697PL_curstash|5.004050||p
698PL_debstash|5.004050||p
699PL_defgv|5.004050||p
700PL_diehook|5.004050||p
701PL_dirty|5.004050||p
702PL_dowarn|||pn
703PL_errgv|5.004050||p
704PL_error_count|5.021008||p
705PL_expect|5.021008||p
706PL_hexdigit|5.005000||p
707PL_hints|5.005000||p
708PL_in_my_stash|5.021008||p
709PL_in_my|5.021008||p
710PL_keyword_plugin||5.011002|
711PL_last_in_gv|||n
712PL_laststatval|5.005000||p
713PL_lex_state|5.021008||p
714PL_lex_stuff|5.021008||p
715PL_linestr|5.021008||p
716PL_modglobal||5.005000|n
717PL_na|5.004050||pn
718PL_no_modify|5.006000||p
719PL_ofsgv|||n
720PL_opfreehook||5.011000|n
721PL_parser|5.009005||p
722PL_peepp||5.007003|n
723PL_perl_destruct_level|5.004050||p
724PL_perldb|5.004050||p
725PL_ppaddr|5.006000||p
726PL_rpeepp||5.013005|n
727PL_rsfp_filters|5.021008||p
728PL_rsfp|5.021008||p
729PL_rs|||n
730PL_signals|5.008001||p
731PL_stack_base|5.004050||p
732PL_stack_sp|5.004050||p
733PL_statcache|5.005000||p
734PL_stdingv|5.004050||p
735PL_sv_arenaroot|5.004050||p
736PL_sv_no|5.004050||pn
737PL_sv_undef|5.004050||pn
738PL_sv_yes|5.004050||pn
739PL_tainted|5.004050||p
740PL_tainting|5.004050||p
741PL_tokenbuf|5.021008||p
742POP_MULTICALL||5.021008|
743POPi|||n
744POPl|||n
745POPn|||n
746POPpbytex||5.007001|n
747POPpx||5.005030|n
748POPp|||n
749POPs|||n
750PTR2IV|5.006000||p
751PTR2NV|5.006000||p
752PTR2UV|5.006000||p
753PTR2nat|5.009003||p
754PTR2ul|5.007001||p
755PTRV|5.006000||p
756PUSHMARK|||
757PUSH_MULTICALL||5.021008|
758PUSHi|||
759PUSHmortal|5.009002||p
760PUSHn|||
761PUSHp|||
762PUSHs|||
763PUSHu|5.004000||p
764PUTBACK|||
765PadARRAY||5.021008|
766PadMAX||5.021008|
767PadlistARRAY||5.021008|
768PadlistMAX||5.021008|
769PadlistNAMESARRAY||5.021008|
770PadlistNAMESMAX||5.021008|
771PadlistNAMES||5.021008|
772PadlistREFCNT||5.017004|
773PadnameIsOUR|||
774PadnameIsSTATE|||
775PadnameLEN||5.021008|
776PadnameOURSTASH|||
777PadnameOUTER|||
778PadnamePV||5.021008|
779PadnameREFCNT_dec||5.021008|
780PadnameREFCNT||5.021008|
781PadnameSV||5.021008|
782PadnameTYPE|||
783PadnameUTF8||5.021007|
784PadnamelistARRAY||5.021008|
785PadnamelistMAX||5.021008|
786PadnamelistREFCNT_dec||5.021008|
787PadnamelistREFCNT||5.021008|
788PerlIO_clearerr||5.007003|
789PerlIO_close||5.007003|
790PerlIO_context_layers||5.009004|
791PerlIO_eof||5.007003|
792PerlIO_error||5.007003|
793PerlIO_fileno||5.007003|
794PerlIO_fill||5.007003|
795PerlIO_flush||5.007003|
796PerlIO_get_base||5.007003|
797PerlIO_get_bufsiz||5.007003|
798PerlIO_get_cnt||5.007003|
799PerlIO_get_ptr||5.007003|
800PerlIO_read||5.007003|
801PerlIO_restore_errno|||
802PerlIO_save_errno|||
803PerlIO_seek||5.007003|
804PerlIO_set_cnt||5.007003|
805PerlIO_set_ptrcnt||5.007003|
806PerlIO_setlinebuf||5.007003|
807PerlIO_stderr||5.007003|
808PerlIO_stdin||5.007003|
809PerlIO_stdout||5.007003|
810PerlIO_tell||5.007003|
811PerlIO_unread||5.007003|
812PerlIO_write||5.007003|
813Perl_signbit||5.009005|n
814PoisonFree|5.009004||p
815PoisonNew|5.009004||p
816PoisonWith|5.009004||p
817Poison|5.008000||p
818READ_XDIGIT||5.017006|
819RETVAL|||n
820Renewc|||
821Renew|||
822SAVECLEARSV|||
823SAVECOMPPAD|||
824SAVEPADSV|||
825SAVETMPS|||
826SAVE_DEFSV|5.004050||p
827SPAGAIN|||
828SP|||
829START_EXTERN_C|5.005000||p
830START_MY_CXT|5.007003||p
831STMT_END|||p
832STMT_START|||p
833STR_WITH_LEN|5.009003||p
834ST|||
835SV_CONST_RETURN|5.009003||p
836SV_COW_DROP_PV|5.008001||p
837SV_COW_SHARED_HASH_KEYS|5.009005||p
838SV_GMAGIC|5.007002||p
839SV_HAS_TRAILING_NUL|5.009004||p
840SV_IMMEDIATE_UNREF|5.007001||p
841SV_MUTABLE_RETURN|5.009003||p
842SV_NOSTEAL|5.009002||p
843SV_SMAGIC|5.009003||p
844SV_UTF8_NO_ENCODING|5.008001||p
845SVfARG|5.009005||p
846SVf_UTF8|5.006000||p
847SVf|5.006000||p
848SVt_INVLIST||5.019002|
849SVt_IV|||
850SVt_NULL|||
851SVt_NV|||
852SVt_PVAV|||
853SVt_PVCV|||
854SVt_PVFM|||
855SVt_PVGV|||
856SVt_PVHV|||
857SVt_PVIO|||
858SVt_PVIV|||
859SVt_PVLV|||
860SVt_PVMG|||
861SVt_PVNV|||
862SVt_PV|||
863SVt_REGEXP||5.011000|
864Safefree|||
865Slab_Alloc|||
866Slab_Free|||
867Slab_to_ro|||
868Slab_to_rw|||
869StructCopy|||
870SvCUR_set|||
871SvCUR|||
872SvEND|||
873SvGAMAGIC||5.006001|
874SvGETMAGIC|5.004050||p
875SvGROW|||
876SvIOK_UV||5.006000|
877SvIOK_notUV||5.006000|
878SvIOK_off|||
879SvIOK_only_UV||5.006000|
880SvIOK_only|||
881SvIOK_on|||
882SvIOKp|||
883SvIOK|||
884SvIVX|||
885SvIV_nomg|5.009001||p
886SvIV_set|||
887SvIVx|||
888SvIV|||
889SvIsCOW_shared_hash||5.008003|
890SvIsCOW||5.008003|
891SvLEN_set|||
892SvLEN|||
893SvLOCK||5.007003|
894SvMAGIC_set|5.009003||p
895SvNIOK_off|||
896SvNIOKp|||
897SvNIOK|||
898SvNOK_off|||
899SvNOK_only|||
900SvNOK_on|||
901SvNOKp|||
902SvNOK|||
903SvNVX|||
904SvNV_nomg||5.013002|
905SvNV_set|||
906SvNVx|||
907SvNV|||
908SvOK|||
909SvOOK_offset||5.011000|
910SvOOK|||
911SvPOK_off|||
912SvPOK_only_UTF8||5.006000|
913SvPOK_only|||
914SvPOK_on|||
915SvPOKp|||
916SvPOK|||
917SvPVX_const|5.009003||p
918SvPVX_mutable|5.009003||p
919SvPVX|||
920SvPV_const|5.009003||p
921SvPV_flags_const_nolen|5.009003||p
922SvPV_flags_const|5.009003||p
923SvPV_flags_mutable|5.009003||p
924SvPV_flags|5.007002||p
925SvPV_force_flags_mutable|5.009003||p
926SvPV_force_flags_nolen|5.009003||p
927SvPV_force_flags|5.007002||p
928SvPV_force_mutable|5.009003||p
929SvPV_force_nolen|5.009003||p
930SvPV_force_nomg_nolen|5.009003||p
931SvPV_force_nomg|5.007002||p
932SvPV_force|||p
933SvPV_mutable|5.009003||p
934SvPV_nolen_const|5.009003||p
935SvPV_nolen|5.006000||p
936SvPV_nomg_const_nolen|5.009003||p
937SvPV_nomg_const|5.009003||p
938SvPV_nomg_nolen|5.013007||p
939SvPV_nomg|5.007002||p
940SvPV_renew|5.009003||p
941SvPV_set|||
942SvPVbyte_force||5.009002|
943SvPVbyte_nolen||5.006000|
944SvPVbytex_force||5.006000|
945SvPVbytex||5.006000|
946SvPVbyte|5.006000||p
947SvPVutf8_force||5.006000|
948SvPVutf8_nolen||5.006000|
949SvPVutf8x_force||5.006000|
950SvPVutf8x||5.006000|
951SvPVutf8||5.006000|
952SvPVx|||
953SvPV|||
954SvREFCNT_dec_NN||5.017007|
955SvREFCNT_dec|||
956SvREFCNT_inc_NN|5.009004||p
957SvREFCNT_inc_simple_NN|5.009004||p
958SvREFCNT_inc_simple_void_NN|5.009004||p
959SvREFCNT_inc_simple_void|5.009004||p
960SvREFCNT_inc_simple|5.009004||p
961SvREFCNT_inc_void_NN|5.009004||p
962SvREFCNT_inc_void|5.009004||p
963SvREFCNT_inc|||p
964SvREFCNT|||
965SvROK_off|||
966SvROK_on|||
967SvROK|||
968SvRV_set|5.009003||p
969SvRV|||
970SvRXOK||5.009005|
971SvRX||5.009005|
972SvSETMAGIC|||
973SvSHARED_HASH|5.009003||p
974SvSHARE||5.007003|
975SvSTASH_set|5.009003||p
976SvSTASH|||
977SvSetMagicSV_nosteal||5.004000|
978SvSetMagicSV||5.004000|
979SvSetSV_nosteal||5.004000|
980SvSetSV|||
981SvTAINTED_off||5.004000|
982SvTAINTED_on||5.004000|
983SvTAINTED||5.004000|
984SvTAINT|||
985SvTHINKFIRST|||
986SvTRUE_nomg||5.013006|
987SvTRUE|||
988SvTYPE|||
989SvUNLOCK||5.007003|
990SvUOK|5.007001|5.006000|p
991SvUPGRADE|||
992SvUTF8_off||5.006000|
993SvUTF8_on||5.006000|
994SvUTF8||5.006000|
995SvUVXx|5.004000||p
996SvUVX|5.004000||p
997SvUV_nomg|5.009001||p
998SvUV_set|5.009003||p
999SvUVx|5.004000||p
1000SvUV|5.004000||p
1001SvVOK||5.008001|
1002SvVSTRING_mg|5.009004||p
1003THIS|||n
1004UNDERBAR|5.009002||p
1005UTF8_MAXBYTES|5.009002||p
1006UVSIZE|5.006000||p
1007UVTYPE|5.006000||p
1008UVXf|5.007001||p
1009UVof|5.006000||p
1010UVuf|5.006000||p
1011UVxf|5.006000||p
1012WARN_ALL|5.006000||p
1013WARN_AMBIGUOUS|5.006000||p
1014WARN_ASSERTIONS|5.021008||p
1015WARN_BAREWORD|5.006000||p
1016WARN_CLOSED|5.006000||p
1017WARN_CLOSURE|5.006000||p
1018WARN_DEBUGGING|5.006000||p
1019WARN_DEPRECATED|5.006000||p
1020WARN_DIGIT|5.006000||p
1021WARN_EXEC|5.006000||p
1022WARN_EXITING|5.006000||p
1023WARN_GLOB|5.006000||p
1024WARN_INPLACE|5.006000||p
1025WARN_INTERNAL|5.006000||p
1026WARN_IO|5.006000||p
1027WARN_LAYER|5.008000||p
1028WARN_MALLOC|5.006000||p
1029WARN_MISC|5.006000||p
1030WARN_NEWLINE|5.006000||p
1031WARN_NUMERIC|5.006000||p
1032WARN_ONCE|5.006000||p
1033WARN_OVERFLOW|5.006000||p
1034WARN_PACK|5.006000||p
1035WARN_PARENTHESIS|5.006000||p
1036WARN_PIPE|5.006000||p
1037WARN_PORTABLE|5.006000||p
1038WARN_PRECEDENCE|5.006000||p
1039WARN_PRINTF|5.006000||p
1040WARN_PROTOTYPE|5.006000||p
1041WARN_QW|5.006000||p
1042WARN_RECURSION|5.006000||p
1043WARN_REDEFINE|5.006000||p
1044WARN_REGEXP|5.006000||p
1045WARN_RESERVED|5.006000||p
1046WARN_SEMICOLON|5.006000||p
1047WARN_SEVERE|5.006000||p
1048WARN_SIGNAL|5.006000||p
1049WARN_SUBSTR|5.006000||p
1050WARN_SYNTAX|5.006000||p
1051WARN_TAINT|5.006000||p
1052WARN_THREADS|5.008000||p
1053WARN_UNINITIALIZED|5.006000||p
1054WARN_UNOPENED|5.006000||p
1055WARN_UNPACK|5.006000||p
1056WARN_UNTIE|5.006000||p
1057WARN_UTF8|5.006000||p
1058WARN_VOID|5.006000||p
1059WIDEST_UTYPE|5.015004||p
1060XCPT_CATCH|5.009002||p
1061XCPT_RETHROW|5.009002||p
1062XCPT_TRY_END|5.009002||p
1063XCPT_TRY_START|5.009002||p
1064XPUSHi|||
1065XPUSHmortal|5.009002||p
1066XPUSHn|||
1067XPUSHp|||
1068XPUSHs|||
1069XPUSHu|5.004000||p
1070XSPROTO|5.010000||p
1071XSRETURN_EMPTY|||
1072XSRETURN_IV|||
1073XSRETURN_NO|||
1074XSRETURN_NV|||
1075XSRETURN_PV|||
1076XSRETURN_UNDEF|||
1077XSRETURN_UV|5.008001||p
1078XSRETURN_YES|||
1079XSRETURN|||p
1080XST_mIV|||
1081XST_mNO|||
1082XST_mNV|||
1083XST_mPV|||
1084XST_mUNDEF|||
1085XST_mUV|5.008001||p
1086XST_mYES|||
1087XS_APIVERSION_BOOTCHECK||5.021008|
1088XS_EXTERNAL||5.021008|
1089XS_INTERNAL||5.021008|
1090XS_VERSION_BOOTCHECK||5.021008|
1091XS_VERSION|||
1092XSprePUSH|5.006000||p
1093XS|||
1094XopDISABLE||5.021008|
1095XopENABLE||5.021008|
1096XopENTRYCUSTOM||5.021008|
1097XopENTRY_set||5.021008|
1098XopENTRY||5.021008|
1099XopFLAGS||5.013007|
1100ZeroD|5.009002||p
1101Zero|||
1102_aMY_CXT|5.007003||p
1103_add_range_to_invlist|||
1104_append_range_to_invlist|||
1105_core_swash_init|||
1106_get_encoding|||
1107_get_regclass_nonbitmap_data|||
1108_get_swash_invlist|||
1109_invlist_array_init|||n
1110_invlist_contains_cp|||n
1111_invlist_contents|||
1112_invlist_dump|||
1113_invlist_intersection_maybe_complement_2nd|||
1114_invlist_intersection|||
1115_invlist_invert|||
1116_invlist_len|||n
1117_invlist_populate_swatch|||n
1118_invlist_search|||n
1119_invlist_subtract|||
1120_invlist_union_maybe_complement_2nd|||
1121_invlist_union|||
1122_is_cur_LC_category_utf8|||
1123_is_in_locale_category||5.021001|
1124_is_uni_FOO||5.017008|
1125_is_uni_perl_idcont||5.017008|
1126_is_uni_perl_idstart||5.017007|
1127_is_utf8_FOO||5.017008|
1128_is_utf8_char_slow||5.021001|n
1129_is_utf8_idcont||5.021001|
1130_is_utf8_idstart||5.021001|
1131_is_utf8_mark||5.017008|
1132_is_utf8_perl_idcont||5.017008|
1133_is_utf8_perl_idstart||5.017007|
1134_is_utf8_xidcont||5.021001|
1135_is_utf8_xidstart||5.021001|
1136_load_PL_utf8_foldclosures|||
1137_make_exactf_invlist|||
1138_new_invlist_C_array|||
1139_new_invlist|||
1140_pMY_CXT|5.007003||p
1141_setup_canned_invlist|||
1142_swash_inversion_hash|||
1143_swash_to_invlist|||
1144_to_fold_latin1|||
1145_to_uni_fold_flags||5.014000|
1146_to_upper_title_latin1|||
1147_to_utf8_fold_flags||5.019009|
1148_to_utf8_lower_flags||5.019009|
1149_to_utf8_title_flags||5.019009|
1150_to_utf8_upper_flags||5.019009|
1151_warn_problematic_locale|||n
1152aMY_CXT_|5.007003||p
1153aMY_CXT|5.007003||p
1154aTHXR_|5.021008||p
1155aTHXR|5.021008||p
1156aTHX_|5.006000||p
1157aTHX|5.006000||p
1158aassign_common_vars|||
1159add_above_Latin1_folds|||
1160add_cp_to_invlist|||
1161add_data|||n
1162add_multi_match|||
1163add_utf16_textfilter|||
1164adjust_size_and_find_bucket|||n
1165advance_one_SB|||
1166advance_one_WB|||
1167alloc_maybe_populate_EXACT|||
1168alloccopstash|||
1169allocmy|||
1170amagic_call|||
1171amagic_cmp_locale|||
1172amagic_cmp|||
1173amagic_deref_call||5.013007|
1174amagic_i_ncmp|||
1175amagic_is_enabled|||
1176amagic_ncmp|||
1177anonymise_cv_maybe|||
1178any_dup|||
1179ao|||
1180append_utf8_from_native_byte||5.019004|n
1181apply_attrs_my|||
1182apply_attrs_string||5.006001|
1183apply_attrs|||
1184apply|||
1185assert_uft8_cache_coherent|||
1186assignment_type|||
1187atfork_lock||5.007003|n
1188atfork_unlock||5.007003|n
1189av_arylen_p||5.009003|
1190av_clear|||
1191av_create_and_push||5.009005|
1192av_create_and_unshift_one||5.009005|
1193av_delete||5.006000|
1194av_exists||5.006000|
1195av_extend_guts|||
1196av_extend|||
1197av_fetch|||
1198av_fill|||
1199av_iter_p||5.011000|
1200av_len|||
1201av_make|||
1202av_pop|||
1203av_push|||
1204av_reify|||
1205av_shift|||
1206av_store|||
1207av_tindex||5.017009|
1208av_top_index||5.017009|
1209av_undef|||
1210av_unshift|||
1211ax|||n
1212backup_one_SB|||
1213backup_one_WB|||
1214bad_type_gv|||
1215bad_type_pv|||
1216bind_match|||
1217block_end||5.004000|
1218block_gimme||5.004000|
1219block_start||5.004000|
1220blockhook_register||5.013003|
1221boolSV|5.004000||p
1222boot_core_PerlIO|||
1223boot_core_UNIVERSAL|||
1224boot_core_mro|||
1225bytes_cmp_utf8||5.013007|
1226bytes_from_utf8||5.007001|
1227bytes_to_utf8||5.006001|
1228call_argv|5.006000||p
1229call_atexit||5.006000|
1230call_list||5.004000|
1231call_method|5.006000||p
1232call_pv|5.006000||p
1233call_sv|5.006000||p
1234caller_cx|5.013005|5.006000|p
1235calloc||5.007002|n
1236cando|||
1237cast_i32||5.006000|n
1238cast_iv||5.006000|n
1239cast_ulong||5.006000|n
1240cast_uv||5.006000|n
1241check_locale_boundary_crossing|||
1242check_type_and_open|||
1243check_uni|||
1244check_utf8_print|||
1245checkcomma|||
1246ckWARN|5.006000||p
1247ck_entersub_args_core|||
1248ck_entersub_args_list||5.013006|
1249ck_entersub_args_proto_or_list||5.013006|
1250ck_entersub_args_proto||5.013006|
1251ck_warner_d||5.011001|v
1252ck_warner||5.011001|v
1253ckwarn_common|||
1254ckwarn_d||5.009003|
1255ckwarn||5.009003|
1256clear_placeholders|||
1257clear_special_blocks|||
1258clone_params_del|||n
1259clone_params_new|||n
1260closest_cop|||
1261cntrl_to_mnemonic|||n
1262compute_EXACTish|||n
1263construct_ahocorasick_from_trie|||
1264cop_fetch_label||5.015001|
1265cop_free|||
1266cop_hints_2hv||5.013007|
1267cop_hints_fetch_pvn||5.013007|
1268cop_hints_fetch_pvs||5.013007|
1269cop_hints_fetch_pv||5.013007|
1270cop_hints_fetch_sv||5.013007|
1271cop_store_label||5.015001|
1272cophh_2hv||5.013007|
1273cophh_copy||5.013007|
1274cophh_delete_pvn||5.013007|
1275cophh_delete_pvs||5.013007|
1276cophh_delete_pv||5.013007|
1277cophh_delete_sv||5.013007|
1278cophh_fetch_pvn||5.013007|
1279cophh_fetch_pvs||5.013007|
1280cophh_fetch_pv||5.013007|
1281cophh_fetch_sv||5.013007|
1282cophh_free||5.013007|
1283cophh_new_empty||5.021008|
1284cophh_store_pvn||5.013007|
1285cophh_store_pvs||5.013007|
1286cophh_store_pv||5.013007|
1287cophh_store_sv||5.013007|
1288core_prototype|||
1289coresub_op|||
1290could_it_be_a_POSIX_class|||n
1291cr_textfilter|||
1292create_eval_scope|||
1293croak_memory_wrap||5.019003|n
1294croak_no_mem|||n
1295croak_no_modify||5.013003|n
1296croak_nocontext|||vn
1297croak_popstack|||n
1298croak_sv||5.013001|
1299croak_xs_usage||5.010001|n
1300croak|||v
1301csighandler||5.009003|n
1302current_re_engine|||
1303curse|||
1304custom_op_desc||5.007003|
1305custom_op_get_field|||
1306custom_op_name||5.007003|
1307custom_op_register||5.013007|
1308custom_op_xop||5.013007|
1309cv_ckproto_len_flags|||
1310cv_clone_into|||
1311cv_clone|||
1312cv_const_sv_or_av|||n
1313cv_const_sv||5.003070|n
1314cv_dump|||
1315cv_forget_slab|||
1316cv_get_call_checker||5.013006|
1317cv_name||5.021005|
1318cv_set_call_checker_flags||5.021004|
1319cv_set_call_checker||5.013006|
1320cv_undef_flags|||
1321cv_undef|||
1322cvgv_from_hek|||
1323cvgv_set|||
1324cvstash_set|||
1325cx_dump||5.005000|
1326cx_dup|||
1327cxinc|||
1328dAXMARK|5.009003||p
1329dAX|5.007002||p
1330dITEMS|5.007002||p
1331dMARK|||
1332dMULTICALL||5.009003|
1333dMY_CXT_SV|5.007003||p
1334dMY_CXT|5.007003||p
1335dNOOP|5.006000||p
1336dORIGMARK|||
1337dSP|||
1338dTHR|5.004050||p
1339dTHXR|5.021008||p
1340dTHXa|5.006000||p
1341dTHXoa|5.006000||p
1342dTHX|5.006000||p
1343dUNDERBAR|5.009002||p
1344dVAR|5.009003||p
1345dXCPT|5.009002||p
1346dXSARGS|||
1347dXSI32|||
1348dXSTARG|5.006000||p
1349deb_curcv|||
1350deb_nocontext|||vn
1351deb_stack_all|||
1352deb_stack_n|||
1353debop||5.005000|
1354debprofdump||5.005000|
1355debprof|||
1356debstackptrs||5.007003|
1357debstack||5.007003|
1358debug_start_match|||
1359deb||5.007003|v
1360defelem_target|||
1361del_sv|||
1362delete_eval_scope|||
1363delimcpy||5.004000|n
1364deprecate_commaless_var_list|||
1365despatch_signals||5.007001|
1366destroy_matcher|||
1367die_nocontext|||vn
1368die_sv||5.013001|
1369die_unwind|||
1370die|||v
1371dirp_dup|||
1372div128|||
1373djSP|||
1374do_aexec5|||
1375do_aexec|||
1376do_aspawn|||
1377do_binmode||5.004050|
1378do_chomp|||
1379do_close|||
1380do_delete_local|||
1381do_dump_pad|||
1382do_eof|||
1383do_exec3|||
1384do_execfree|||
1385do_exec|||
1386do_gv_dump||5.006000|
1387do_gvgv_dump||5.006000|
1388do_hv_dump||5.006000|
1389do_ipcctl|||
1390do_ipcget|||
1391do_join|||
1392do_magic_dump||5.006000|
1393do_msgrcv|||
1394do_msgsnd|||
1395do_ncmp|||
1396do_oddball|||
1397do_op_dump||5.006000|
1398do_open6|||
1399do_open9||5.006000|
1400do_open_raw|||
1401do_openn||5.007001|
1402do_open||5.003070|
1403do_pmop_dump||5.006000|
1404do_print|||
1405do_readline|||
1406do_seek|||
1407do_semop|||
1408do_shmio|||
1409do_smartmatch|||
1410do_spawn_nowait|||
1411do_spawn|||
1412do_sprintf|||
1413do_sv_dump||5.006000|
1414do_sysseek|||
1415do_tell|||
1416do_trans_complex_utf8|||
1417do_trans_complex|||
1418do_trans_count_utf8|||
1419do_trans_count|||
1420do_trans_simple_utf8|||
1421do_trans_simple|||
1422do_trans|||
1423do_vecget|||
1424do_vecset|||
1425do_vop|||
1426docatch|||
1427doeval|||
1428dofile|||
1429dofindlabel|||
1430doform|||
1431doing_taint||5.008001|n
1432dooneliner|||
1433doopen_pm|||
1434doparseform|||
1435dopoptoeval|||
1436dopoptogiven|||
1437dopoptolabel|||
1438dopoptoloop|||
1439dopoptosub_at|||
1440dopoptowhen|||
1441doref||5.009003|
1442dounwind|||
1443dowantarray|||
1444drand48_init_r|||n
1445drand48_r|||n
1446dump_all_perl|||
1447dump_all||5.006000|
1448dump_c_backtrace|||
1449dump_eval||5.006000|
1450dump_exec_pos|||
1451dump_form||5.006000|
1452dump_indent||5.006000|v
1453dump_mstats|||
1454dump_packsubs_perl|||
1455dump_packsubs||5.006000|
1456dump_sub_perl|||
1457dump_sub||5.006000|
1458dump_sv_child|||
1459dump_trie_interim_list|||
1460dump_trie_interim_table|||
1461dump_trie|||
1462dump_vindent||5.006000|
1463dumpuntil|||
1464dup_attrlist|||
1465emulate_cop_io|||
1466eval_pv|5.006000||p
1467eval_sv|5.006000||p
1468exec_failed|||
1469expect_number|||
1470fbm_compile||5.005000|
1471fbm_instr||5.005000|
1472feature_is_enabled|||
1473filter_add|||
1474filter_del|||
1475filter_gets|||
1476filter_read|||
1477finalize_optree|||
1478finalize_op|||
1479find_and_forget_pmops|||
1480find_array_subscript|||
1481find_beginning|||
1482find_byclass|||
1483find_default_stash|||
1484find_hash_subscript|||
1485find_in_my_stash|||
1486find_lexical_cv|||
1487find_runcv_where|||
1488find_runcv||5.008001|
1489find_rundefsv2|||
1490find_rundefsvoffset||5.009002|
1491find_rundefsv||5.013002|
1492find_script|||
1493find_uninit_var|||
1494first_symbol|||n
1495fixup_errno_string|||
1496foldEQ_latin1||5.013008|n
1497foldEQ_locale||5.013002|n
1498foldEQ_utf8_flags||5.013010|
1499foldEQ_utf8||5.013002|
1500foldEQ||5.013002|n
1501fold_constants|||
1502forbid_setid|||
1503force_ident_maybe_lex|||
1504force_ident|||
1505force_list|||
1506force_next|||
1507force_strict_version|||
1508force_version|||
1509force_word|||
1510forget_pmop|||
1511form_nocontext|||vn
1512form_short_octal_warning|||
1513form||5.004000|v
1514fp_dup|||
1515fprintf_nocontext|||vn
1516free_c_backtrace|||
1517free_global_struct|||
1518free_tied_hv_pool|||
1519free_tmps|||
1520gen_constant_list|||
1521get_ANYOF_cp_list_for_ssc|||
1522get_and_check_backslash_N_name|||
1523get_aux_mg|||
1524get_av|5.006000||p
1525get_c_backtrace_dump|||
1526get_c_backtrace|||
1527get_context||5.006000|n
1528get_cvn_flags|5.009005||p
1529get_cvs|5.011000||p
1530get_cv|5.006000||p
1531get_db_sub|||
1532get_debug_opts|||
1533get_hash_seed|||
1534get_hv|5.006000||p
1535get_invlist_iter_addr|||n
1536get_invlist_offset_addr|||n
1537get_invlist_previous_index_addr|||n
1538get_mstats|||
1539get_no_modify|||
1540get_num|||
1541get_op_descs||5.005000|
1542get_op_names||5.005000|
1543get_opargs|||
1544get_ppaddr||5.006000|
1545get_re_arg|||
1546get_sv|5.006000||p
1547get_vtbl||5.005030|
1548getcwd_sv||5.007002|
1549getenv_len|||
1550glob_2number|||
1551glob_assign_glob|||
1552gp_dup|||
1553gp_free|||
1554gp_ref|||
1555grok_atoUV|||n
1556grok_bin|5.007003||p
1557grok_bslash_N|||
1558grok_bslash_c|||
1559grok_bslash_o|||
1560grok_bslash_x|||
1561grok_hex|5.007003||p
1562grok_infnan||5.021004|
1563grok_number_flags||5.021002|
1564grok_number|5.007002||p
1565grok_numeric_radix|5.007002||p
1566grok_oct|5.007003||p
1567group_end|||
1568gv_AVadd|||
1569gv_HVadd|||
1570gv_IOadd|||
1571gv_SVadd|||
1572gv_add_by_type||5.011000|
1573gv_autoload4||5.004000|
1574gv_autoload_pvn||5.015004|
1575gv_autoload_pv||5.015004|
1576gv_autoload_sv||5.015004|
1577gv_check|||
1578gv_const_sv||5.009003|
1579gv_dump||5.006000|
1580gv_efullname3||5.003070|
1581gv_efullname4||5.006001|
1582gv_efullname|||
1583gv_fetchfile_flags||5.009005|
1584gv_fetchfile|||
1585gv_fetchmeth_autoload||5.007003|
1586gv_fetchmeth_internal|||
1587gv_fetchmeth_pv_autoload||5.015004|
1588gv_fetchmeth_pvn_autoload||5.015004|
1589gv_fetchmeth_pvn||5.015004|
1590gv_fetchmeth_pv||5.015004|
1591gv_fetchmeth_sv_autoload||5.015004|
1592gv_fetchmeth_sv||5.015004|
1593gv_fetchmethod_autoload||5.004000|
1594gv_fetchmethod_pv_flags||5.015004|
1595gv_fetchmethod_pvn_flags||5.015004|
1596gv_fetchmethod_sv_flags||5.015004|
1597gv_fetchmethod|||
1598gv_fetchmeth|||
1599gv_fetchpvn_flags|5.009002||p
1600gv_fetchpvs|5.009004||p
1601gv_fetchpv|||
1602gv_fetchsv|5.009002||p
1603gv_fullname3||5.003070|
1604gv_fullname4||5.006001|
1605gv_fullname|||
1606gv_handler||5.007001|
1607gv_init_pvn||5.015004|
1608gv_init_pv||5.015004|
1609gv_init_svtype|||
1610gv_init_sv||5.015004|
1611gv_init|||
1612gv_is_in_main|||
1613gv_magicalize_isa|||
1614gv_magicalize|||
1615gv_name_set||5.009004|
1616gv_override|||
1617gv_setref|||
1618gv_stashpvn_internal|||
1619gv_stashpvn|5.003070||p
1620gv_stashpvs|5.009003||p
1621gv_stashpv|||
1622gv_stashsvpvn_cached|||
1623gv_stashsv|||
1624gv_try_downgrade|||
1625handle_regex_sets|||
1626he_dup|||
1627hek_dup|||
1628hfree_next_entry|||
1629hfreeentries|||
1630hsplit|||
1631hv_assert|||
1632hv_auxinit_internal|||n
1633hv_auxinit|||
1634hv_backreferences_p|||
1635hv_clear_placeholders||5.009001|
1636hv_clear|||
1637hv_common_key_len||5.010000|
1638hv_common||5.010000|
1639hv_copy_hints_hv||5.009004|
1640hv_delayfree_ent||5.004000|
1641hv_delete_common|||
1642hv_delete_ent||5.003070|
1643hv_delete|||
1644hv_eiter_p||5.009003|
1645hv_eiter_set||5.009003|
1646hv_ename_add|||
1647hv_ename_delete|||
1648hv_exists_ent||5.003070|
1649hv_exists|||
1650hv_fetch_ent||5.003070|
1651hv_fetchs|5.009003||p
1652hv_fetch|||
1653hv_fill||5.013002|
1654hv_free_ent_ret|||
1655hv_free_ent||5.004000|
1656hv_iterinit|||
1657hv_iterkeysv||5.003070|
1658hv_iterkey|||
1659hv_iternext_flags||5.008000|
1660hv_iternextsv|||
1661hv_iternext|||
1662hv_iterval|||
1663hv_kill_backrefs|||
1664hv_ksplit||5.003070|
1665hv_magic_check|||n
1666hv_magic|||
1667hv_name_set||5.009003|
1668hv_notallowed|||
1669hv_placeholders_get||5.009003|
1670hv_placeholders_p|||
1671hv_placeholders_set||5.009003|
1672hv_rand_set||5.018000|
1673hv_riter_p||5.009003|
1674hv_riter_set||5.009003|
1675hv_scalar||5.009001|
1676hv_store_ent||5.003070|
1677hv_store_flags||5.008000|
1678hv_stores|5.009004||p
1679hv_store|||
1680hv_undef_flags|||
1681hv_undef|||
1682ibcmp_locale||5.004000|
1683ibcmp_utf8||5.007003|
1684ibcmp|||
1685incline|||
1686incpush_if_exists|||
1687incpush_use_sep|||
1688incpush|||
1689ingroup|||
1690init_argv_symbols|||
1691init_constants|||
1692init_dbargs|||
1693init_debugger|||
1694init_global_struct|||
1695init_i18nl10n||5.006000|
1696init_i18nl14n||5.006000|
1697init_ids|||
1698init_interp|||
1699init_main_stash|||
1700init_perllib|||
1701init_postdump_symbols|||
1702init_predump_symbols|||
1703init_stacks||5.005000|
1704init_tm||5.007002|
1705inplace_aassign|||
1706instr|||n
1707intro_my||5.004000|
1708intuit_method|||
1709intuit_more|||
1710invert|||
1711invlist_array|||n
1712invlist_clone|||
1713invlist_extend|||
1714invlist_highest|||n
1715invlist_is_iterating|||n
1716invlist_iterfinish|||n
1717invlist_iterinit|||n
1718invlist_iternext|||n
1719invlist_max|||n
1720invlist_previous_index|||n
1721invlist_set_len|||
1722invlist_set_previous_index|||n
1723invlist_trim|||n
1724invoke_exception_hook|||
1725io_close|||
1726isALNUMC|5.006000||p
1727isALNUM_lazy||5.021001|
1728isALPHANUMERIC||5.017008|
1729isALPHA|||
1730isASCII|5.006000||p
1731isBLANK|5.006001||p
1732isCNTRL|5.006000||p
1733isDIGIT|||
1734isFOO_lc|||
1735isFOO_utf8_lc|||
1736isGCB|||n
1737isGRAPH|5.006000||p
1738isGV_with_GP|5.009004||p
1739isIDCONT||5.017008|
1740isIDFIRST_lazy||5.021001|
1741isIDFIRST|||
1742isLOWER|||
1743isOCTAL||5.013005|
1744isPRINT|5.004000||p
1745isPSXSPC|5.006001||p
1746isPUNCT|5.006000||p
1747isSB|||
1748isSPACE|||
1749isUPPER|||
1750isUTF8_CHAR||5.021001|
1751isWB|||
1752isWORDCHAR||5.013006|
1753isXDIGIT|5.006000||p
1754is_an_int|||
1755is_ascii_string||5.011000|
1756is_handle_constructor|||n
1757is_invariant_string||5.021007|n
1758is_lvalue_sub||5.007001|
1759is_safe_syscall||5.019004|
1760is_ssc_worth_it|||n
1761is_uni_alnum_lc||5.006000|
1762is_uni_alnumc_lc||5.017007|
1763is_uni_alnumc||5.017007|
1764is_uni_alnum||5.006000|
1765is_uni_alpha_lc||5.006000|
1766is_uni_alpha||5.006000|
1767is_uni_ascii_lc||5.006000|
1768is_uni_ascii||5.006000|
1769is_uni_blank_lc||5.017002|
1770is_uni_blank||5.017002|
1771is_uni_cntrl_lc||5.006000|
1772is_uni_cntrl||5.006000|
1773is_uni_digit_lc||5.006000|
1774is_uni_digit||5.006000|
1775is_uni_graph_lc||5.006000|
1776is_uni_graph||5.006000|
1777is_uni_idfirst_lc||5.006000|
1778is_uni_idfirst||5.006000|
1779is_uni_lower_lc||5.006000|
1780is_uni_lower||5.006000|
1781is_uni_print_lc||5.006000|
1782is_uni_print||5.006000|
1783is_uni_punct_lc||5.006000|
1784is_uni_punct||5.006000|
1785is_uni_space_lc||5.006000|
1786is_uni_space||5.006000|
1787is_uni_upper_lc||5.006000|
1788is_uni_upper||5.006000|
1789is_uni_xdigit_lc||5.006000|
1790is_uni_xdigit||5.006000|
1791is_utf8_alnumc||5.017007|
1792is_utf8_alnum||5.006000|
1793is_utf8_alpha||5.006000|
1794is_utf8_ascii||5.006000|
1795is_utf8_blank||5.017002|
1796is_utf8_char_buf||5.015008|n
1797is_utf8_char||5.006000|n
1798is_utf8_cntrl||5.006000|
1799is_utf8_common|||
1800is_utf8_digit||5.006000|
1801is_utf8_graph||5.006000|
1802is_utf8_idcont||5.008000|
1803is_utf8_idfirst||5.006000|
1804is_utf8_lower||5.006000|
1805is_utf8_mark||5.006000|
1806is_utf8_perl_space||5.011001|
1807is_utf8_perl_word||5.011001|
1808is_utf8_posix_digit||5.011001|
1809is_utf8_print||5.006000|
1810is_utf8_punct||5.006000|
1811is_utf8_space||5.006000|
1812is_utf8_string_loclen||5.009003|n
1813is_utf8_string_loc||5.008001|n
1814is_utf8_string||5.006001|n
1815is_utf8_upper||5.006000|
1816is_utf8_xdigit||5.006000|
1817is_utf8_xidcont||5.013010|
1818is_utf8_xidfirst||5.013010|
1819isa_lookup|||
1820isinfnansv|||
1821isinfnan||5.021004|n
1822items|||n
1823ix|||n
1824jmaybe|||
1825join_exact|||
1826keyword_plugin_standard|||
1827keyword|||
1828leave_common|||
1829leave_scope|||
1830lex_bufutf8||5.011002|
1831lex_discard_to||5.011002|
1832lex_grow_linestr||5.011002|
1833lex_next_chunk||5.011002|
1834lex_peek_unichar||5.011002|
1835lex_read_space||5.011002|
1836lex_read_to||5.011002|
1837lex_read_unichar||5.011002|
1838lex_start||5.009005|
1839lex_stuff_pvn||5.011002|
1840lex_stuff_pvs||5.013005|
1841lex_stuff_pv||5.013006|
1842lex_stuff_sv||5.011002|
1843lex_unstuff||5.011002|
1844listkids|||
1845list|||
1846load_module_nocontext|||vn
1847load_module|5.006000||pv
1848localize|||
1849looks_like_bool|||
1850looks_like_number|||
1851lop|||
1852mPUSHi|5.009002||p
1853mPUSHn|5.009002||p
1854mPUSHp|5.009002||p
1855mPUSHs|5.010001||p
1856mPUSHu|5.009002||p
1857mXPUSHi|5.009002||p
1858mXPUSHn|5.009002||p
1859mXPUSHp|5.009002||p
1860mXPUSHs|5.010001||p
1861mXPUSHu|5.009002||p
1862magic_clear_all_env|||
1863magic_cleararylen_p|||
1864magic_clearenv|||
1865magic_clearhints|||
1866magic_clearhint|||
1867magic_clearisa|||
1868magic_clearpack|||
1869magic_clearsig|||
1870magic_copycallchecker|||
1871magic_dump||5.006000|
1872magic_existspack|||
1873magic_freearylen_p|||
1874magic_freeovrld|||
1875magic_getarylen|||
1876magic_getdebugvar|||
1877magic_getdefelem|||
1878magic_getnkeys|||
1879magic_getpack|||
1880magic_getpos|||
1881magic_getsig|||
1882magic_getsubstr|||
1883magic_gettaint|||
1884magic_getuvar|||
1885magic_getvec|||
1886magic_get|||
1887magic_killbackrefs|||
1888magic_methcall1|||
1889magic_methcall|||v
1890magic_methpack|||
1891magic_nextpack|||
1892magic_regdata_cnt|||
1893magic_regdatum_get|||
1894magic_regdatum_set|||
1895magic_scalarpack|||
1896magic_set_all_env|||
1897magic_setarylen|||
1898magic_setcollxfrm|||
1899magic_setdbline|||
1900magic_setdebugvar|||
1901magic_setdefelem|||
1902magic_setenv|||
1903magic_sethint|||
1904magic_setisa|||
1905magic_setlvref|||
1906magic_setmglob|||
1907magic_setnkeys|||
1908magic_setpack|||
1909magic_setpos|||
1910magic_setregexp|||
1911magic_setsig|||
1912magic_setsubstr|||
1913magic_settaint|||
1914magic_setutf8|||
1915magic_setuvar|||
1916magic_setvec|||
1917magic_set|||
1918magic_sizepack|||
1919magic_wipepack|||
1920make_matcher|||
1921make_trie|||
1922malloc_good_size|||n
1923malloced_size|||n
1924malloc||5.007002|n
1925markstack_grow||5.021001|
1926matcher_matches_sv|||
1927maybe_multimagic_gv|||
1928mayberelocate|||
1929measure_struct|||
1930memEQs|5.009005||p
1931memEQ|5.004000||p
1932memNEs|5.009005||p
1933memNE|5.004000||p
1934mem_collxfrm|||
1935mem_log_common|||n
1936mess_alloc|||
1937mess_nocontext|||vn
1938mess_sv||5.013001|
1939mess||5.006000|v
1940mfree||5.007002|n
1941mg_clear|||
1942mg_copy|||
1943mg_dup|||
1944mg_find_mglob|||
1945mg_findext|5.013008||pn
1946mg_find|||n
1947mg_free_type||5.013006|
1948mg_free|||
1949mg_get|||
1950mg_length||5.005000|
1951mg_localize|||
1952mg_magical|||n
1953mg_set|||
1954mg_size||5.005000|
1955mini_mktime||5.007002|n
1956minus_v|||
1957missingterm|||
1958mode_from_discipline|||
1959modkids|||
1960more_bodies|||
1961more_sv|||
1962moreswitches|||
1963move_proto_attr|||
1964mro_clean_isarev|||
1965mro_gather_and_rename|||
1966mro_get_from_name||5.010001|
1967mro_get_linear_isa_dfs|||
1968mro_get_linear_isa||5.009005|
1969mro_get_private_data||5.010001|
1970mro_isa_changed_in|||
1971mro_meta_dup|||
1972mro_meta_init|||
1973mro_method_changed_in||5.009005|
1974mro_package_moved|||
1975mro_register||5.010001|
1976mro_set_mro||5.010001|
1977mro_set_private_data||5.010001|
1978mul128|||
1979mulexp10|||n
1980multideref_stringify|||
1981my_atof2||5.007002|
1982my_atof||5.006000|
1983my_attrs|||
1984my_bcopy|||n
1985my_bytes_to_utf8|||n
1986my_bzero|||n
1987my_chsize|||
1988my_clearenv|||
1989my_cxt_index|||
1990my_cxt_init|||
1991my_dirfd||5.009005|n
1992my_exit_jump|||
1993my_exit|||
1994my_failure_exit||5.004000|
1995my_fflush_all||5.006000|
1996my_fork||5.007003|n
1997my_kid|||
1998my_lstat_flags|||
1999my_lstat||5.021008|
2000my_memcmp|||n
2001my_memset|||n
2002my_pclose||5.003070|
2003my_popen_list||5.007001|
2004my_popen||5.003070|
2005my_setenv|||
2006my_setlocale|||
2007my_snprintf|5.009004||pvn
2008my_socketpair||5.007003|n
2009my_sprintf|5.009003||pvn
2010my_stat_flags|||
2011my_stat||5.021008|
2012my_strerror||5.021001|
2013my_strftime||5.007002|
2014my_strlcat|5.009004||pn
2015my_strlcpy|5.009004||pn
2016my_unexec|||
2017my_vsnprintf||5.009004|n
2018need_utf8|||n
2019newANONATTRSUB||5.006000|
2020newANONHASH|||
2021newANONLIST|||
2022newANONSUB|||
2023newASSIGNOP|||
2024newATTRSUB_x|||
2025newATTRSUB||5.006000|
2026newAVREF|||
2027newAV|||
2028newBINOP|||
2029newCONDOP|||
2030newCONSTSUB_flags||5.015006|
2031newCONSTSUB|5.004050||p
2032newCVREF|||
2033newDEFSVOP||5.021006|
2034newFORM|||
2035newFOROP||5.013007|
2036newGIVENOP||5.009003|
2037newGIVWHENOP|||
2038newGP|||
2039newGVOP|||
2040newGVREF|||
2041newGVgen_flags||5.015004|
2042newGVgen|||
2043newHVREF|||
2044newHVhv||5.005000|
2045newHV|||
2046newIO|||
2047newLISTOP|||
2048newLOGOP|||
2049newLOOPEX|||
2050newLOOPOP|||
2051newMETHOP_internal|||
2052newMETHOP_named||5.021005|
2053newMETHOP||5.021005|
2054newMYSUB||5.017004|
2055newNULLLIST|||
2056newOP|||
2057newPADNAMELIST||5.021007|n
2058newPADNAMEouter||5.021007|n
2059newPADNAMEpvn||5.021007|n
2060newPADOP|||
2061newPMOP|||
2062newPROG|||
2063newPVOP|||
2064newRANGE|||
2065newRV_inc|5.004000||p
2066newRV_noinc|5.004000||p
2067newRV|||
2068newSLICEOP|||
2069newSTATEOP|||
2070newSTUB|||
2071newSUB|||
2072newSVOP|||
2073newSVREF|||
2074newSV_type|5.009005||p
2075newSVavdefelem|||
2076newSVhek||5.009003|
2077newSViv|||
2078newSVnv|||
2079newSVpadname||5.017004|
2080newSVpv_share||5.013006|
2081newSVpvf_nocontext|||vn
2082newSVpvf||5.004000|v
2083newSVpvn_flags|5.010001||p
2084newSVpvn_share|5.007001||p
2085newSVpvn_utf8|5.010001||p
2086newSVpvn|5.004050||p
2087newSVpvs_flags|5.010001||p
2088newSVpvs_share|5.009003||p
2089newSVpvs|5.009003||p
2090newSVpv|||
2091newSVrv|||
2092newSVsv|||
2093newSVuv|5.006000||p
2094newSV|||
2095newUNOP_AUX||5.021007|
2096newUNOP|||
2097newWHENOP||5.009003|
2098newWHILEOP||5.013007|
2099newXS_deffile|||
2100newXS_flags||5.009004|
2101newXS_len_flags|||
2102newXSproto||5.006000|
2103newXS||5.006000|
2104new_collate||5.006000|
2105new_constant|||
2106new_ctype||5.006000|
2107new_he|||
2108new_logop|||
2109new_numeric||5.006000|
2110new_stackinfo||5.005000|
2111new_version||5.009000|
2112new_warnings_bitfield|||
2113next_symbol|||
2114nextargv|||
2115nextchar|||
2116ninstr|||n
2117no_bareword_allowed|||
2118no_fh_allowed|||
2119no_op|||
2120noperl_die|||vn
2121not_a_number|||
2122not_incrementable|||
2123nothreadhook||5.008000|
2124nuke_stacks|||
2125num_overflow|||n
2126oopsAV|||
2127oopsHV|||
2128op_append_elem||5.013006|
2129op_append_list||5.013006|
2130op_clear|||
2131op_contextualize||5.013006|
2132op_convert_list||5.021006|
2133op_dump||5.006000|
2134op_free|||
2135op_integerize|||
2136op_linklist||5.013006|
2137op_lvalue_flags|||
2138op_lvalue||5.013007|
2139op_null||5.007002|
2140op_parent||5.021002|n
2141op_prepend_elem||5.013006|
2142op_refcnt_dec|||
2143op_refcnt_inc|||
2144op_refcnt_lock||5.009002|
2145op_refcnt_unlock||5.009002|
2146op_relocate_sv|||
2147op_scope||5.013007|
2148op_sibling_splice||5.021002|n
2149op_std_init|||
2150op_unscope|||
2151open_script|||
2152openn_cleanup|||
2153openn_setup|||
2154opmethod_stash|||
2155opslab_force_free|||
2156opslab_free_nopad|||
2157opslab_free|||
2158pMY_CXT_|5.007003||p
2159pMY_CXT|5.007003||p
2160pTHX_|5.006000||p
2161pTHX|5.006000||p
2162packWARN|5.007003||p
2163pack_cat||5.007003|
2164pack_rec|||
2165package_version|||
2166package|||
2167packlist||5.008001|
2168pad_add_anon||5.008001|
2169pad_add_name_pvn||5.015001|
2170pad_add_name_pvs||5.015001|
2171pad_add_name_pv||5.015001|
2172pad_add_name_sv||5.015001|
2173pad_add_weakref|||
2174pad_alloc_name|||
2175pad_alloc|||
2176pad_block_start|||
2177pad_check_dup|||
2178pad_compname_type||5.009003|
2179pad_findlex|||
2180pad_findmy_pvn||5.015001|
2181pad_findmy_pvs||5.015001|
2182pad_findmy_pv||5.015001|
2183pad_findmy_sv||5.015001|
2184pad_fixup_inner_anons|||
2185pad_free|||
2186pad_leavemy|||
2187pad_new||5.008001|
2188pad_push|||
2189pad_reset|||
2190pad_setsv|||
2191pad_sv|||
2192pad_swipe|||
2193pad_tidy||5.008001|
2194padlist_dup|||
2195padlist_store|||
2196padname_dup|||
2197padname_free|||
2198padnamelist_dup|||
2199padnamelist_fetch||5.021007|n
2200padnamelist_free|||
2201padnamelist_store||5.021007|
2202parse_arithexpr||5.013008|
2203parse_barestmt||5.013007|
2204parse_block||5.013007|
2205parse_body|||
2206parse_fullexpr||5.013008|
2207parse_fullstmt||5.013005|
2208parse_gv_stash_name|||
2209parse_ident|||
2210parse_label||5.013007|
2211parse_listexpr||5.013008|
2212parse_lparen_question_flags|||
2213parse_stmtseq||5.013006|
2214parse_subsignature|||
2215parse_termexpr||5.013008|
2216parse_unicode_opts|||
2217parser_dup|||
2218parser_free_nexttoke_ops|||
2219parser_free|||
2220path_is_searchable|||n
2221peep|||
2222pending_ident|||
2223perl_alloc_using|||n
2224perl_alloc|||n
2225perl_clone_using|||n
2226perl_clone|||n
2227perl_construct|||n
2228perl_destruct||5.007003|n
2229perl_free|||n
2230perl_parse||5.006000|n
2231perl_run|||n
2232pidgone|||
2233pm_description|||
2234pmop_dump||5.006000|
2235pmruntime|||
2236pmtrans|||
2237pop_scope|||
2238populate_ANYOF_from_invlist|||
2239populate_isa|||v
2240pregcomp||5.009005|
2241pregexec|||
2242pregfree2||5.011000|
2243pregfree|||
2244prescan_version||5.011004|
2245printbuf|||
2246printf_nocontext|||vn
2247process_special_blocks|||
2248ptr_hash|||n
2249ptr_table_clear||5.009005|
2250ptr_table_fetch||5.009005|
2251ptr_table_find|||n
2252ptr_table_free||5.009005|
2253ptr_table_new||5.009005|
2254ptr_table_split||5.009005|
2255ptr_table_store||5.009005|
2256push_scope|||
2257put_charclass_bitmap_innards|||
2258put_code_point|||
2259put_range|||
2260pv_display|5.006000||p
2261pv_escape|5.009004||p
2262pv_pretty|5.009004||p
2263pv_uni_display||5.007003|
2264qerror|||
2265qsortsvu|||
2266quadmath_format_needed|||n
2267quadmath_format_single|||n
2268re_compile||5.009005|
2269re_croak2|||
2270re_dup_guts|||
2271re_intuit_start||5.019001|
2272re_intuit_string||5.006000|
2273re_op_compile|||
2274realloc||5.007002|n
2275reentrant_free||5.021008|
2276reentrant_init||5.021008|
2277reentrant_retry||5.021008|vn
2278reentrant_size||5.021008|
2279ref_array_or_hash|||
2280refcounted_he_chain_2hv|||
2281refcounted_he_fetch_pvn|||
2282refcounted_he_fetch_pvs|||
2283refcounted_he_fetch_pv|||
2284refcounted_he_fetch_sv|||
2285refcounted_he_free|||
2286refcounted_he_inc|||
2287refcounted_he_new_pvn|||
2288refcounted_he_new_pvs|||
2289refcounted_he_new_pv|||
2290refcounted_he_new_sv|||
2291refcounted_he_value|||
2292refkids|||
2293refto|||
2294ref||5.021008|
2295reg2Lanode|||
2296reg_check_named_buff_matched|||n
2297reg_named_buff_all||5.009005|
2298reg_named_buff_exists||5.009005|
2299reg_named_buff_fetch||5.009005|
2300reg_named_buff_firstkey||5.009005|
2301reg_named_buff_iter|||
2302reg_named_buff_nextkey||5.009005|
2303reg_named_buff_scalar||5.009005|
2304reg_named_buff|||
2305reg_node|||
2306reg_numbered_buff_fetch|||
2307reg_numbered_buff_length|||
2308reg_numbered_buff_store|||
2309reg_qr_package|||
2310reg_recode|||
2311reg_scan_name|||
2312reg_skipcomment|||n
2313reg_temp_copy|||
2314reganode|||
2315regatom|||
2316regbranch|||
2317regclass_swash||5.009004|
2318regclass|||
2319regcppop|||
2320regcppush|||
2321regcurly|||n
2322regdump_extflags|||
2323regdump_intflags|||
2324regdump||5.005000|
2325regdupe_internal|||
2326regexec_flags||5.005000|
2327regfree_internal||5.009005|
2328reghop3|||n
2329reghop4|||n
2330reghopmaybe3|||n
2331reginclass|||
2332reginitcolors||5.006000|
2333reginsert|||
2334regmatch|||
2335regnext||5.005000|
2336regnode_guts|||
2337regpatws|||n
2338regpiece|||
2339regpposixcc|||
2340regprop|||
2341regrepeat|||
2342regtail_study|||
2343regtail|||
2344regtry|||
2345reg|||
2346repeatcpy|||n
2347report_evil_fh|||
2348report_redefined_cv|||
2349report_uninit|||
2350report_wrongway_fh|||
2351require_pv||5.006000|
2352require_tie_mod|||
2353restore_magic|||
2354rninstr|||n
2355rpeep|||
2356rsignal_restore|||
2357rsignal_save|||
2358rsignal_state||5.004000|
2359rsignal||5.004000|
2360run_body|||
2361run_user_filter|||
2362runops_debug||5.005000|
2363runops_standard||5.005000|
2364rv2cv_op_cv||5.013006|
2365rvpv_dup|||
2366rxres_free|||
2367rxres_restore|||
2368rxres_save|||
2369safesyscalloc||5.006000|n
2370safesysfree||5.006000|n
2371safesysmalloc||5.006000|n
2372safesysrealloc||5.006000|n
2373same_dirent|||
2374save_I16||5.004000|
2375save_I32|||
2376save_I8||5.006000|
2377save_adelete||5.011000|
2378save_aelem_flags||5.011000|
2379save_aelem||5.004050|
2380save_aliased_sv|||
2381save_alloc||5.006000|
2382save_aptr|||
2383save_ary|||
2384save_bool||5.008001|
2385save_clearsv|||
2386save_delete|||
2387save_destructor_x||5.006000|
2388save_destructor||5.006000|
2389save_freeop|||
2390save_freepv|||
2391save_freesv|||
2392save_generic_pvref||5.006001|
2393save_generic_svref||5.005030|
2394save_gp||5.004000|
2395save_hash|||
2396save_hdelete||5.011000|
2397save_hek_flags|||n
2398save_helem_flags||5.011000|
2399save_helem||5.004050|
2400save_hints||5.010001|
2401save_hptr|||
2402save_int|||
2403save_item|||
2404save_iv||5.005000|
2405save_lines|||
2406save_list|||
2407save_long|||
2408save_magic_flags|||
2409save_mortalizesv||5.007001|
2410save_nogv|||
2411save_op||5.005000|
2412save_padsv_and_mortalize||5.010001|
2413save_pptr|||
2414save_pushi32ptr||5.010001|
2415save_pushptri32ptr|||
2416save_pushptrptr||5.010001|
2417save_pushptr||5.010001|
2418save_re_context||5.006000|
2419save_scalar_at|||
2420save_scalar|||
2421save_set_svflags||5.009000|
2422save_shared_pvref||5.007003|
2423save_sptr|||
2424save_strlen|||
2425save_svref|||
2426save_vptr||5.006000|
2427savepvn|||
2428savepvs||5.009003|
2429savepv|||
2430savesharedpvn||5.009005|
2431savesharedpvs||5.013006|
2432savesharedpv||5.007003|
2433savesharedsvpv||5.013006|
2434savestack_grow_cnt||5.008001|
2435savestack_grow|||
2436savesvpv||5.009002|
2437sawparens|||
2438scalar_mod_type|||n
2439scalarboolean|||
2440scalarkids|||
2441scalarseq|||
2442scalarvoid|||
2443scalar|||
2444scan_bin||5.006000|
2445scan_commit|||
2446scan_const|||
2447scan_formline|||
2448scan_heredoc|||
2449scan_hex|||
2450scan_ident|||
2451scan_inputsymbol|||
2452scan_num||5.007001|
2453scan_oct|||
2454scan_pat|||
2455scan_str|||
2456scan_subst|||
2457scan_trans|||
2458scan_version||5.009001|
2459scan_vstring||5.009005|
2460scan_word|||
2461search_const|||
2462seed||5.008001|
2463sequence_num|||
2464set_ANYOF_arg|||
2465set_caret_X|||
2466set_context||5.006000|n
2467set_numeric_local||5.006000|
2468set_numeric_radix||5.006000|
2469set_numeric_standard||5.006000|
2470set_padlist|||n
2471setdefout|||
2472share_hek_flags|||
2473share_hek||5.004000|
2474should_warn_nl|||n
2475si_dup|||
2476sighandler|||n
2477simplify_sort|||
2478skipspace_flags|||
2479softref2xv|||
2480sortcv_stacked|||
2481sortcv_xsub|||
2482sortcv|||
2483sortsv_flags||5.009003|
2484sortsv||5.007003|
2485space_join_names_mortal|||
2486ss_dup|||
2487ssc_add_range|||
2488ssc_and|||
2489ssc_anything|||
2490ssc_clear_locale|||n
2491ssc_cp_and|||
2492ssc_finalize|||
2493ssc_init|||
2494ssc_intersection|||
2495ssc_is_anything|||n
2496ssc_is_cp_posixl_init|||n
2497ssc_or|||
2498ssc_union|||
2499stack_grow|||
2500start_glob|||
2501start_subparse||5.004000|
2502stdize_locale|||
2503strEQ|||
2504strGE|||
2505strGT|||
2506strLE|||
2507strLT|||
2508strNE|||
2509str_to_version||5.006000|
2510strip_return|||
2511strnEQ|||
2512strnNE|||
2513study_chunk|||
2514sub_crush_depth|||
2515sublex_done|||
2516sublex_push|||
2517sublex_start|||
2518sv_2bool_flags||5.013006|
2519sv_2bool|||
2520sv_2cv|||
2521sv_2io|||
2522sv_2iuv_common|||
2523sv_2iuv_non_preserve|||
2524sv_2iv_flags||5.009001|
2525sv_2iv|||
2526sv_2mortal|||
2527sv_2num|||
2528sv_2nv_flags||5.013001|
2529sv_2pv_flags|5.007002||p
2530sv_2pv_nolen|5.006000||p
2531sv_2pvbyte_nolen|5.006000||p
2532sv_2pvbyte|5.006000||p
2533sv_2pvutf8_nolen||5.006000|
2534sv_2pvutf8||5.006000|
2535sv_2pv|||
2536sv_2uv_flags||5.009001|
2537sv_2uv|5.004000||p
2538sv_add_arena|||
2539sv_add_backref|||
2540sv_backoff|||n
2541sv_bless|||
2542sv_buf_to_ro|||
2543sv_buf_to_rw|||
2544sv_cat_decode||5.008001|
2545sv_catpv_flags||5.013006|
2546sv_catpv_mg|5.004050||p
2547sv_catpv_nomg||5.013006|
2548sv_catpvf_mg_nocontext|||pvn
2549sv_catpvf_mg|5.006000|5.004000|pv
2550sv_catpvf_nocontext|||vn
2551sv_catpvf||5.004000|v
2552sv_catpvn_flags||5.007002|
2553sv_catpvn_mg|5.004050||p
2554sv_catpvn_nomg|5.007002||p
2555sv_catpvn|||
2556sv_catpvs_flags||5.013006|
2557sv_catpvs_mg||5.013006|
2558sv_catpvs_nomg||5.013006|
2559sv_catpvs|5.009003||p
2560sv_catpv|||
2561sv_catsv_flags||5.007002|
2562sv_catsv_mg|5.004050||p
2563sv_catsv_nomg|5.007002||p
2564sv_catsv|||
2565sv_chop|||
2566sv_clean_all|||
2567sv_clean_objs|||
2568sv_clear|||
2569sv_cmp_flags||5.013006|
2570sv_cmp_locale_flags||5.013006|
2571sv_cmp_locale||5.004000|
2572sv_cmp|||
2573sv_collxfrm_flags||5.013006|
2574sv_collxfrm|||
2575sv_copypv_flags||5.017002|
2576sv_copypv_nomg||5.017002|
2577sv_copypv|||
2578sv_dec_nomg||5.013002|
2579sv_dec|||
2580sv_del_backref|||
2581sv_derived_from_pvn||5.015004|
2582sv_derived_from_pv||5.015004|
2583sv_derived_from_sv||5.015004|
2584sv_derived_from||5.004000|
2585sv_destroyable||5.010000|
2586sv_display|||
2587sv_does_pvn||5.015004|
2588sv_does_pv||5.015004|
2589sv_does_sv||5.015004|
2590sv_does||5.009004|
2591sv_dump|||
2592sv_dup_common|||
2593sv_dup_inc_multiple|||
2594sv_dup_inc|||
2595sv_dup|||
2596sv_eq_flags||5.013006|
2597sv_eq|||
2598sv_exp_grow|||
2599sv_force_normal_flags||5.007001|
2600sv_force_normal||5.006000|
2601sv_free2|||
2602sv_free_arenas|||
2603sv_free|||
2604sv_get_backrefs||5.021008|n
2605sv_gets||5.003070|
2606sv_grow|||
2607sv_i_ncmp|||
2608sv_inc_nomg||5.013002|
2609sv_inc|||
2610sv_insert_flags||5.010001|
2611sv_insert|||
2612sv_isa|||
2613sv_isobject|||
2614sv_iv||5.005000|
2615sv_kill_backrefs|||
2616sv_len_utf8_nomg|||
2617sv_len_utf8||5.006000|
2618sv_len|||
2619sv_magic_portable|5.021008|5.004000|p
2620sv_magicext_mglob|||
2621sv_magicext||5.007003|
2622sv_magic|||
2623sv_mortalcopy_flags|||
2624sv_mortalcopy|||
2625sv_ncmp|||
2626sv_newmortal|||
2627sv_newref|||
2628sv_nolocking||5.007003|
2629sv_nosharing||5.007003|
2630sv_nounlocking|||
2631sv_nv||5.005000|
2632sv_only_taint_gmagic|||n
2633sv_or_pv_pos_u2b|||
2634sv_peek||5.005000|
2635sv_pos_b2u_flags||5.019003|
2636sv_pos_b2u_midway|||
2637sv_pos_b2u||5.006000|
2638sv_pos_u2b_cached|||
2639sv_pos_u2b_flags||5.011005|
2640sv_pos_u2b_forwards|||n
2641sv_pos_u2b_midway|||n
2642sv_pos_u2b||5.006000|
2643sv_pvbyten_force||5.006000|
2644sv_pvbyten||5.006000|
2645sv_pvbyte||5.006000|
2646sv_pvn_force_flags|5.007002||p
2647sv_pvn_force|||
2648sv_pvn_nomg|5.007003|5.005000|p
2649sv_pvn||5.005000|
2650sv_pvutf8n_force||5.006000|
2651sv_pvutf8n||5.006000|
2652sv_pvutf8||5.006000|
2653sv_pv||5.006000|
2654sv_recode_to_utf8||5.007003|
2655sv_reftype|||
2656sv_ref|||
2657sv_release_COW|||
2658sv_replace|||
2659sv_report_used|||
2660sv_resetpvn|||
2661sv_reset|||
2662sv_rvweaken||5.006000|
2663sv_sethek|||
2664sv_setiv_mg|5.004050||p
2665sv_setiv|||
2666sv_setnv_mg|5.006000||p
2667sv_setnv|||
2668sv_setpv_mg|5.004050||p
2669sv_setpvf_mg_nocontext|||pvn
2670sv_setpvf_mg|5.006000|5.004000|pv
2671sv_setpvf_nocontext|||vn
2672sv_setpvf||5.004000|v
2673sv_setpviv_mg||5.008001|
2674sv_setpviv||5.008001|
2675sv_setpvn_mg|5.004050||p
2676sv_setpvn|||
2677sv_setpvs_mg||5.013006|
2678sv_setpvs|5.009004||p
2679sv_setpv|||
2680sv_setref_iv|||
2681sv_setref_nv|||
2682sv_setref_pvn|||
2683sv_setref_pvs||5.021008|
2684sv_setref_pv|||
2685sv_setref_uv||5.007001|
2686sv_setsv_cow|||
2687sv_setsv_flags||5.007002|
2688sv_setsv_mg|5.004050||p
2689sv_setsv_nomg|5.007002||p
2690sv_setsv|||
2691sv_setuv_mg|5.004050||p
2692sv_setuv|5.004000||p
2693sv_tainted||5.004000|
2694sv_taint||5.004000|
2695sv_true||5.005000|
2696sv_unglob|||
2697sv_uni_display||5.007003|
2698sv_unmagicext|5.013008||p
2699sv_unmagic|||
2700sv_unref_flags||5.007001|
2701sv_unref|||
2702sv_untaint||5.004000|
2703sv_upgrade|||
2704sv_usepvn_flags||5.009004|
2705sv_usepvn_mg|5.004050||p
2706sv_usepvn|||
2707sv_utf8_decode||5.006000|
2708sv_utf8_downgrade||5.006000|
2709sv_utf8_encode||5.006000|
2710sv_utf8_upgrade_flags_grow||5.011000|
2711sv_utf8_upgrade_flags||5.007002|
2712sv_utf8_upgrade_nomg||5.007002|
2713sv_utf8_upgrade||5.007001|
2714sv_uv|5.005000||p
2715sv_vcatpvf_mg|5.006000|5.004000|p
2716sv_vcatpvfn_flags||5.017002|
2717sv_vcatpvfn||5.004000|
2718sv_vcatpvf|5.006000|5.004000|p
2719sv_vsetpvf_mg|5.006000|5.004000|p
2720sv_vsetpvfn||5.004000|
2721sv_vsetpvf|5.006000|5.004000|p
2722svtype|||
2723swallow_bom|||
2724swash_fetch||5.007002|
2725swash_init||5.006000|
2726swash_scan_list_line|||
2727swatch_get|||
2728sync_locale||5.021004|
2729sys_init3||5.010000|n
2730sys_init||5.010000|n
2731sys_intern_clear|||
2732sys_intern_dup|||
2733sys_intern_init|||
2734sys_term||5.010000|n
2735taint_env|||
2736taint_proper|||
2737tied_method|||v
2738tmps_grow_p|||
2739toFOLD_uni||5.007003|
2740toFOLD_utf8||5.019001|
2741toFOLD||5.019001|
2742toLOWER_L1||5.019001|
2743toLOWER_LC||5.004000|
2744toLOWER_uni||5.007003|
2745toLOWER_utf8||5.015007|
2746toLOWER|||
2747toTITLE_uni||5.007003|
2748toTITLE_utf8||5.015007|
2749toTITLE||5.019001|
2750toUPPER_uni||5.007003|
2751toUPPER_utf8||5.015007|
2752toUPPER|||
2753to_byte_substr|||
2754to_lower_latin1|||n
2755to_uni_fold||5.007003|
2756to_uni_lower_lc||5.006000|
2757to_uni_lower||5.007003|
2758to_uni_title_lc||5.006000|
2759to_uni_title||5.007003|
2760to_uni_upper_lc||5.006000|
2761to_uni_upper||5.007003|
2762to_utf8_case||5.007003|
2763to_utf8_fold||5.015007|
2764to_utf8_lower||5.015007|
2765to_utf8_substr|||
2766to_utf8_title||5.015007|
2767to_utf8_upper||5.015007|
2768tokenize_use|||
2769tokeq|||
2770tokereport|||
2771too_few_arguments_pv|||
2772too_many_arguments_pv|||
2773translate_substr_offsets|||n
2774try_amagic_bin|||
2775try_amagic_un|||
2776uiv_2buf|||n
2777unlnk|||
2778unpack_rec|||
2779unpack_str||5.007003|
2780unpackstring||5.008001|
2781unreferenced_to_tmp_stack|||
2782unshare_hek_or_pvn|||
2783unshare_hek|||
2784unsharepvn||5.003070|
2785unwind_handler_stack|||
2786update_debugger_info|||
2787upg_version||5.009005|
2788usage|||
2789utf16_textfilter|||
2790utf16_to_utf8_reversed||5.006001|
2791utf16_to_utf8||5.006001|
2792utf8_distance||5.006000|
2793utf8_hop||5.006000|n
2794utf8_length||5.007001|
2795utf8_mg_len_cache_update|||
2796utf8_mg_pos_cache_update|||
2797utf8_to_bytes||5.006001|
2798utf8_to_uvchr_buf||5.015009|
2799utf8_to_uvchr||5.007001|
2800utf8_to_uvuni_buf||5.015009|
2801utf8_to_uvuni||5.007001|
2802utf8n_to_uvchr||5.007001|
2803utf8n_to_uvuni||5.007001|
2804utilize|||
2805uvchr_to_utf8_flags||5.007003|
2806uvchr_to_utf8||5.007001|
2807uvoffuni_to_utf8_flags||5.019004|
2808uvuni_to_utf8_flags||5.007003|
2809uvuni_to_utf8||5.007001|
2810valid_utf8_to_uvchr||5.015009|
2811valid_utf8_to_uvuni||5.015009|
2812validate_proto|||
2813validate_suid|||
2814varname|||
2815vcmp||5.009000|
2816vcroak||5.006000|
2817vdeb||5.007003|
2818vform||5.006000|
2819visit|||
2820vivify_defelem|||
2821vivify_ref|||
2822vload_module|5.006000||p
2823vmess||5.006000|
2824vnewSVpvf|5.006000|5.004000|p
2825vnormal||5.009002|
2826vnumify||5.009000|
2827vstringify||5.009000|
2828vverify||5.009003|
2829vwarner||5.006000|
2830vwarn||5.006000|
2831wait4pid|||
2832warn_nocontext|||vn
2833warn_sv||5.013001|
2834warner_nocontext|||vn
2835warner|5.006000|5.004000|pv
2836warn|||v
2837was_lvalue_sub|||
2838watch|||
2839whichsig_pvn||5.015004|
2840whichsig_pv||5.015004|
2841whichsig_sv||5.015004|
2842whichsig|||
2843win32_croak_not_implemented|||n
2844with_queued_errors|||
2845wrap_op_checker||5.015008|
2846write_to_stderr|||
2847xs_boot_epilog|||
2848xs_handshake|||vn
2849xs_version_bootcheck|||
2850yyerror_pvn|||
2851yyerror_pv|||
2852yyerror|||
2853yylex|||
2854yyparse|||
2855yyunlex|||
2856yywarn|||
2857);
2858
2859if (exists $opt{'list-unsupported'}) {
2860 my $f;
2861 for $f (sort { lc $a cmp lc $b } keys %API) {
2862 next unless $API{$f}{todo};
2863 print "$f ", '.'x(40-length($f)), " ", format_version($API{$f}{todo}), "\n";
2864 }
2865 exit 0;
2866}
2867
2868# Scan for possible replacement candidates
2869
2870my(%replace, %need, %hints, %warnings, %depends);
2871my $replace = 0;
2872my($hint, $define, $function);
2873
2874sub find_api
2875{
2876 my $code = shift;
2877 $code =~ s{
2878 / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]*)
2879 | "[^"\\]*(?:\\.[^"\\]*)*"
2880 | '[^'\\]*(?:\\.[^'\\]*)*' }{}egsx;
2881 grep { exists $API{$_} } $code =~ /(\w+)/mg;
2882}
2883
2884while (<DATA>) {
2885 if ($hint) {
2886 my $h = $hint->[0] eq 'Hint' ? \%hints : \%warnings;
2887 if (m{^\s*\*\s(.*?)\s*$}) {
2888 for (@{$hint->[1]}) {
2889 $h->{$_} ||= ''; # suppress warning with older perls
2890 $h->{$_} .= "$1\n";
2891 }
2892 }
2893 else { undef $hint }
2894 }
2895
2896 $hint = [$1, [split /,?\s+/, $2]]
2897 if m{^\s*$rccs\s+(Hint|Warning):\s+(\w+(?:,?\s+\w+)*)\s*$};
2898
2899 if ($define) {
2900 if ($define->[1] =~ /\\$/) {
2901 $define->[1] .= $_;
2902 }
2903 else {
2904 if (exists $API{$define->[0]} && $define->[1] !~ /^DPPP_\(/) {
2905 my @n = find_api($define->[1]);
2906 push @{$depends{$define->[0]}}, @n if @n
2907 }
2908 undef $define;
2909 }
2910 }
2911
2912 $define = [$1, $2] if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(.*)};
2913
2914 if ($function) {
2915 if (/^}/) {
2916 if (exists $API{$function->[0]}) {
2917 my @n = find_api($function->[1]);
2918 push @{$depends{$function->[0]}}, @n if @n
2919 }
2920 undef $function;
2921 }
2922 else {
2923 $function->[1] .= $_;
2924 }
2925 }
2926
2927 $function = [$1, ''] if m{^DPPP_\(my_(\w+)\)};
2928
2929 $replace = $1 if m{^\s*$rccs\s+Replace:\s+(\d+)\s+$rcce\s*$};
2930 $replace{$2} = $1 if $replace and m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+)};
2931 $replace{$2} = $1 if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+).*$rccs\s+Replace\s+$rcce};
2932 $replace{$1} = $2 if m{^\s*$rccs\s+Replace (\w+) with (\w+)\s+$rcce\s*$};
2933
2934 if (m{^\s*$rccs\s+(\w+(\s*,\s*\w+)*)\s+depends\s+on\s+(\w+(\s*,\s*\w+)*)\s+$rcce\s*$}) {
2935 my @deps = map { s/\s+//g; $_ } split /,/, $3;
2936 my $d;
2937 for $d (map { s/\s+//g; $_ } split /,/, $1) {
2938 push @{$depends{$d}}, @deps;
2939 }
2940 }
2941
2942 $need{$1} = 1 if m{^#if\s+defined\(NEED_(\w+)(?:_GLOBAL)?\)};
2943}
2944
2945for (values %depends) {
2946 my %s;
2947 $_ = [sort grep !$s{$_}++, @$_];
2948}
2949
2950if (exists $opt{'api-info'}) {
2951 my $f;
2952 my $count = 0;
2953 my $match = $opt{'api-info'} =~ m!^/(.*)/$! ? $1 : "^\Q$opt{'api-info'}\E\$";
2954 for $f (sort { lc $a cmp lc $b } keys %API) {
2955 next unless $f =~ /$match/;
2956 print "\n=== $f ===\n\n";
2957 my $info = 0;
2958 if ($API{$f}{base} || $API{$f}{todo}) {
2959 my $base = format_version($API{$f}{base} || $API{$f}{todo});
2960 print "Supported at least starting from perl-$base.\n";
2961 $info++;
2962 }
2963 if ($API{$f}{provided}) {
2964 my $todo = $API{$f}{todo} ? format_version($API{$f}{todo}) : "5.003";
2965 print "Support by $ppport provided back to perl-$todo.\n";
2966 print "Support needs to be explicitly requested by NEED_$f.\n" if exists $need{$f};
2967 print "Depends on: ", join(', ', @{$depends{$f}}), ".\n" if exists $depends{$f};
2968 print "\n$hints{$f}" if exists $hints{$f};
2969 print "\nWARNING:\n$warnings{$f}" if exists $warnings{$f};
2970 $info++;
2971 }
2972 print "No portability information available.\n" unless $info;
2973 $count++;
2974 }
2975 $count or print "Found no API matching '$opt{'api-info'}'.";
2976 print "\n";
2977 exit 0;
2978}
2979
2980if (exists $opt{'list-provided'}) {
2981 my $f;
2982 for $f (sort { lc $a cmp lc $b } keys %API) {
2983 next unless $API{$f}{provided};
2984 my @flags;
2985 push @flags, 'explicit' if exists $need{$f};
2986 push @flags, 'depend' if exists $depends{$f};
2987 push @flags, 'hint' if exists $hints{$f};
2988 push @flags, 'warning' if exists $warnings{$f};
2989 my $flags = @flags ? ' ['.join(', ', @flags).']' : '';
2990 print "$f$flags\n";
2991 }
2992 exit 0;
2993}
2994
2995my @files;
2996my @srcext = qw( .xs .c .h .cc .cpp -c.inc -xs.inc );
2997my $srcext = join '|', map { quotemeta $_ } @srcext;
2998
2999if (@ARGV) {
3000 my %seen;
3001 for (@ARGV) {
3002 if (-e) {
3003 if (-f) {
3004 push @files, $_ unless $seen{$_}++;
3005 }
3006 else { warn "'$_' is not a file.\n" }
3007 }
3008 else {
3009 my @new = grep { -f } glob $_
3010 or warn "'$_' does not exist.\n";
3011 push @files, grep { !$seen{$_}++ } @new;
3012 }
3013 }
3014}
3015else {
3016 eval {
3017 require File::Find;
3018 File::Find::find(sub {
3019 $File::Find::name =~ /($srcext)$/i
3020 and push @files, $File::Find::name;
3021 }, '.');
3022 };
3023 if ($@) {
3024 @files = map { glob "*$_" } @srcext;
3025 }
3026}
3027
3028if (!@ARGV || $opt{filter}) {
3029 my(@in, @out);
3030 my %xsc = map { /(.*)\.xs$/ ? ("$1.c" => 1, "$1.cc" => 1) : () } @files;
3031 for (@files) {
3032 my $out = exists $xsc{$_} || /\b\Q$ppport\E$/i || !/($srcext)$/i;
3033 push @{ $out ? \@out : \@in }, $_;
3034 }
3035 if (@ARGV && @out) {
3036 warning("Skipping the following files (use --nofilter to avoid this):\n| ", join "\n| ", @out);
3037 }
3038 @files = @in;
3039}
3040
3041die "No input files given!\n" unless @files;
3042
3043my(%files, %global, %revreplace);
3044%revreplace = reverse %replace;
3045my $filename;
3046my $patch_opened = 0;
3047
3048for $filename (@files) {
3049 unless (open IN, "<$filename") {
3050 warn "Unable to read from $filename: $!\n";
3051 next;
3052 }
3053
3054 info("Scanning $filename ...");
3055
3056 my $c = do { local $/; <IN> };
3057 close IN;
3058
3059 my %file = (orig => $c, changes => 0);
3060
3061 # Temporarily remove C/XS comments and strings from the code
3062 my @ccom;
3063
3064 $c =~ s{
3065 ( ^$HS*\#$HS*include\b[^\r\n]+\b(?:\Q$ppport\E|XSUB\.h)\b[^\r\n]*
3066 | ^$HS*\#$HS*(?:define|elif|if(?:def)?)\b[^\r\n]* )
3067 | ( ^$HS*\#[^\r\n]*
3068 | "[^"\\]*(?:\\.[^"\\]*)*"
3069 | '[^'\\]*(?:\\.[^'\\]*)*'
3070 | / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]* ) )
3071 }{ defined $2 and push @ccom, $2;
3072 defined $1 ? $1 : "$ccs$#ccom$cce" }mgsex;
3073
3074 $file{ccom} = \@ccom;
3075 $file{code} = $c;
3076 $file{has_inc_ppport} = $c =~ /^$HS*#$HS*include[^\r\n]+\b\Q$ppport\E\b/m;
3077
3078 my $func;
3079
3080 for $func (keys %API) {
3081 my $match = $func;
3082 $match .= "|$revreplace{$func}" if exists $revreplace{$func};
3083 if ($c =~ /\b(?:Perl_)?($match)\b/) {
3084 $file{uses_replace}{$1}++ if exists $revreplace{$func} && $1 eq $revreplace{$func};
3085 $file{uses_Perl}{$func}++ if $c =~ /\bPerl_$func\b/;
3086 if (exists $API{$func}{provided}) {
3087 $file{uses_provided}{$func}++;
3088 if (!exists $API{$func}{base} || $API{$func}{base} > $opt{'compat-version'}) {
3089 $file{uses}{$func}++;
3090 my @deps = rec_depend($func);
3091 if (@deps) {
3092 $file{uses_deps}{$func} = \@deps;
3093 for (@deps) {
3094 $file{uses}{$_} = 0 unless exists $file{uses}{$_};
3095 }
3096 }
3097 for ($func, @deps) {
3098 $file{needs}{$_} = 'static' if exists $need{$_};
3099 }
3100 }
3101 }
3102 if (exists $API{$func}{todo} && $API{$func}{todo} > $opt{'compat-version'}) {
3103 if ($c =~ /\b$func\b/) {
3104 $file{uses_todo}{$func}++;
3105 }
3106 }
3107 }
3108 }
3109
3110 while ($c =~ /^$HS*#$HS*define$HS+(NEED_(\w+?)(_GLOBAL)?)\b/mg) {
3111 if (exists $need{$2}) {
3112 $file{defined $3 ? 'needed_global' : 'needed_static'}{$2}++;
3113 }
3114 else { warning("Possibly wrong #define $1 in $filename") }
3115 }
3116
3117 for (qw(uses needs uses_todo needed_global needed_static)) {
3118 for $func (keys %{$file{$_}}) {
3119 push @{$global{$_}{$func}}, $filename;
3120 }
3121 }
3122
3123 $files{$filename} = \%file;
3124}
3125
3126# Globally resolve NEED_'s
3127my $need;
3128for $need (keys %{$global{needs}}) {
3129 if (@{$global{needs}{$need}} > 1) {
3130 my @targets = @{$global{needs}{$need}};
3131 my @t = grep $files{$_}{needed_global}{$need}, @targets;
3132 @targets = @t if @t;
3133 @t = grep /\.xs$/i, @targets;
3134 @targets = @t if @t;
3135 my $target = shift @targets;
3136 $files{$target}{needs}{$need} = 'global';
3137 for (@{$global{needs}{$need}}) {
3138 $files{$_}{needs}{$need} = 'extern' if $_ ne $target;
3139 }
3140 }
3141}
3142
3143for $filename (@files) {
3144 exists $files{$filename} or next;
3145
3146 info("=== Analyzing $filename ===");
3147
3148 my %file = %{$files{$filename}};
3149 my $func;
3150 my $c = $file{code};
3151 my $warnings = 0;
3152
3153 for $func (sort keys %{$file{uses_Perl}}) {
3154 if ($API{$func}{varargs}) {
3155 unless ($API{$func}{nothxarg}) {
3156 my $changes = ($c =~ s{\b(Perl_$func\s*\(\s*)(?!aTHX_?)(\)|[^\s)]*\))}
3157 { $1 . ($2 eq ')' ? 'aTHX' : 'aTHX_ ') . $2 }ge);
3158 if ($changes) {
3159 warning("Doesn't pass interpreter argument aTHX to Perl_$func");
3160 $file{changes} += $changes;
3161 }
3162 }
3163 }
3164 else {
3165 warning("Uses Perl_$func instead of $func");
3166 $file{changes} += ($c =~ s{\bPerl_$func(\s*)\((\s*aTHX_?)?\s*}
3167 {$func$1(}g);
3168 }
3169 }
3170
3171 for $func (sort keys %{$file{uses_replace}}) {
3172 warning("Uses $func instead of $replace{$func}");
3173 $file{changes} += ($c =~ s/\b$func\b/$replace{$func}/g);
3174 }
3175
3176 for $func (sort keys %{$file{uses_provided}}) {
3177 if ($file{uses}{$func}) {
3178 if (exists $file{uses_deps}{$func}) {
3179 diag("Uses $func, which depends on ", join(', ', @{$file{uses_deps}{$func}}));
3180 }
3181 else {
3182 diag("Uses $func");
3183 }
3184 }
3185 $warnings += hint($func);
3186 }
3187
3188 unless ($opt{quiet}) {
3189 for $func (sort keys %{$file{uses_todo}}) {
3190 print "*** WARNING: Uses $func, which may not be portable below perl ",
3191 format_version($API{$func}{todo}), ", even with '$ppport'\n";
3192 $warnings++;
3193 }
3194 }
3195
3196 for $func (sort keys %{$file{needed_static}}) {
3197 my $message = '';
3198 if (not exists $file{uses}{$func}) {
3199 $message = "No need to define NEED_$func if $func is never used";
3200 }
3201 elsif (exists $file{needs}{$func} && $file{needs}{$func} ne 'static') {
3202 $message = "No need to define NEED_$func when already needed globally";
3203 }
3204 if ($message) {
3205 diag($message);
3206 $file{changes} += ($c =~ s/^$HS*#$HS*define$HS+NEED_$func\b.*$LF//mg);
3207 }
3208 }
3209
3210 for $func (sort keys %{$file{needed_global}}) {
3211 my $message = '';
3212 if (not exists $global{uses}{$func}) {
3213 $message = "No need to define NEED_${func}_GLOBAL if $func is never used";
3214 }
3215 elsif (exists $file{needs}{$func}) {
3216 if ($file{needs}{$func} eq 'extern') {
3217 $message = "No need to define NEED_${func}_GLOBAL when already needed globally";
3218 }
3219 elsif ($file{needs}{$func} eq 'static') {
3220 $message = "No need to define NEED_${func}_GLOBAL when only used in this file";
3221 }
3222 }
3223 if ($message) {
3224 diag($message);
3225 $file{changes} += ($c =~ s/^$HS*#$HS*define$HS+NEED_${func}_GLOBAL\b.*$LF//mg);
3226 }
3227 }
3228
3229 $file{needs_inc_ppport} = keys %{$file{uses}};
3230
3231 if ($file{needs_inc_ppport}) {
3232 my $pp = '';
3233
3234 for $func (sort keys %{$file{needs}}) {
3235 my $type = $file{needs}{$func};
3236 next if $type eq 'extern';
3237 my $suffix = $type eq 'global' ? '_GLOBAL' : '';
3238 unless (exists $file{"needed_$type"}{$func}) {
3239 if ($type eq 'global') {
3240 diag("Files [@{$global{needs}{$func}}] need $func, adding global request");
3241 }
3242 else {
3243 diag("File needs $func, adding static request");
3244 }
3245 $pp .= "#define NEED_$func$suffix\n";
3246 }
3247 }
3248
3249 if ($pp && ($c =~ s/^(?=$HS*#$HS*define$HS+NEED_\w+)/$pp/m)) {
3250 $pp = '';
3251 $file{changes}++;
3252 }
3253
3254 unless ($file{has_inc_ppport}) {
3255 diag("Needs to include '$ppport'");
3256 $pp .= qq(#include "$ppport"\n)
3257 }
3258
3259 if ($pp) {
3260 $file{changes} += ($c =~ s/^($HS*#$HS*define$HS+NEED_\w+.*?)^/$1$pp/ms)
3261 || ($c =~ s/^(?=$HS*#$HS*include.*\Q$ppport\E)/$pp/m)
3262 || ($c =~ s/^($HS*#$HS*include.*XSUB.*\s*?)^/$1$pp/m)
3263 || ($c =~ s/^/$pp/);
3264 }
3265 }
3266 else {
3267 if ($file{has_inc_ppport}) {
3268 diag("No need to include '$ppport'");
3269 $file{changes} += ($c =~ s/^$HS*?#$HS*include.*\Q$ppport\E.*?$LF//m);
3270 }
3271 }
3272
3273 # put back in our C comments
3274 my $ix;
3275 my $cppc = 0;
3276 my @ccom = @{$file{ccom}};
3277 for $ix (0 .. $#ccom) {
3278 if (!$opt{cplusplus} && $ccom[$ix] =~ s!^//!!) {
3279 $cppc++;
3280 $file{changes} += $c =~ s/$rccs$ix$rcce/$ccs$ccom[$ix] $cce/;
3281 }
3282 else {
3283 $c =~ s/$rccs$ix$rcce/$ccom[$ix]/;
3284 }
3285 }
3286
3287 if ($cppc) {
3288 my $s = $cppc != 1 ? 's' : '';
3289 warning("Uses $cppc C++ style comment$s, which is not portable");
3290 }
3291
3292 my $s = $warnings != 1 ? 's' : '';
3293 my $warn = $warnings ? " ($warnings warning$s)" : '';
3294 info("Analysis completed$warn");
3295
3296 if ($file{changes}) {
3297 if (exists $opt{copy}) {
3298 my $newfile = "$filename$opt{copy}";
3299 if (-e $newfile) {
3300 error("'$newfile' already exists, refusing to write copy of '$filename'");
3301 }
3302 else {
3303 local *F;
3304 if (open F, ">$newfile") {
3305 info("Writing copy of '$filename' with changes to '$newfile'");
3306 print F $c;
3307 close F;
3308 }
3309 else {
3310 error("Cannot open '$newfile' for writing: $!");
3311 }
3312 }
3313 }
3314 elsif (exists $opt{patch} || $opt{changes}) {
3315 if (exists $opt{patch}) {
3316 unless ($patch_opened) {
3317 if (open PATCH, ">$opt{patch}") {
3318 $patch_opened = 1;
3319 }
3320 else {
3321 error("Cannot open '$opt{patch}' for writing: $!");
3322 delete $opt{patch};
3323 $opt{changes} = 1;
3324 goto fallback;
3325 }
3326 }
3327 mydiff(\*PATCH, $filename, $c);
3328 }
3329 else {
3330fallback:
3331 info("Suggested changes:");
3332 mydiff(\*STDOUT, $filename, $c);
3333 }
3334 }
3335 else {
3336 my $s = $file{changes} == 1 ? '' : 's';
3337 info("$file{changes} potentially required change$s detected");
3338 }
3339 }
3340 else {
3341 info("Looks good");
3342 }
3343}
3344
3345close PATCH if $patch_opened;
3346
3347exit 0;
3348
3349
3350sub try_use { eval "use @_;"; return $@ eq '' }
3351
3352sub mydiff
3353{
3354 local *F = shift;
3355 my($file, $str) = @_;
3356 my $diff;
3357
3358 if (exists $opt{diff}) {
3359 $diff = run_diff($opt{diff}, $file, $str);
3360 }
3361
3362 if (!defined $diff and try_use('Text::Diff')) {
3363 $diff = Text::Diff::diff($file, \$str, { STYLE => 'Unified' });
3364 $diff = <<HEADER . $diff;
3365--- $file
3366+++ $file.patched
3367HEADER
3368 }
3369
3370 if (!defined $diff) {
3371 $diff = run_diff('diff -u', $file, $str);
3372 }
3373
3374 if (!defined $diff) {
3375 $diff = run_diff('diff', $file, $str);
3376 }
3377
3378 if (!defined $diff) {
3379 error("Cannot generate a diff. Please install Text::Diff or use --copy.");
3380 return;
3381 }
3382
3383 print F $diff;
3384}
3385
3386sub run_diff
3387{
3388 my($prog, $file, $str) = @_;
3389 my $tmp = 'dppptemp';
3390 my $suf = 'aaa';
3391 my $diff = '';
3392 local *F;
3393
3394 while (-e "$tmp.$suf") { $suf++ }
3395 $tmp = "$tmp.$suf";
3396
3397 if (open F, ">$tmp") {
3398 print F $str;
3399 close F;
3400
3401 if (open F, "$prog $file $tmp |") {
3402 while (<F>) {
3403 s/\Q$tmp\E/$file.patched/;
3404 $diff .= $_;
3405 }
3406 close F;
3407 unlink $tmp;
3408 return $diff;
3409 }
3410
3411 unlink $tmp;
3412 }
3413 else {
3414 error("Cannot open '$tmp' for writing: $!");
3415 }
3416
3417 return undef;
3418}
3419
3420sub rec_depend
3421{
3422 my($func, $seen) = @_;
3423 return () unless exists $depends{$func};
3424 $seen = {%{$seen||{}}};
3425 return () if $seen->{$func}++;
3426 my %s;
3427 grep !$s{$_}++, map { ($_, rec_depend($_, $seen)) } @{$depends{$func}};
3428}
3429
3430sub parse_version
3431{
3432 my $ver = shift;
3433
3434 if ($ver =~ /^(\d+)\.(\d+)\.(\d+)$/) {
3435 return ($1, $2, $3);
3436 }
3437 elsif ($ver !~ /^\d+\.[\d_]+$/) {
3438 die "cannot parse version '$ver'\n";
3439 }
3440
3441 $ver =~ s/_//g;
3442 $ver =~ s/$/000000/;
3443
3444 my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/;
3445
3446 $v = int $v;
3447 $s = int $s;
3448
3449 if ($r < 5 || ($r == 5 && $v < 6)) {
3450 if ($s % 10) {
3451 die "cannot parse version '$ver'\n";
3452 }
3453 }
3454
3455 return ($r, $v, $s);
3456}
3457
3458sub format_version
3459{
3460 my $ver = shift;
3461
3462 $ver =~ s/$/000000/;
3463 my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/;
3464
3465 $v = int $v;
3466 $s = int $s;
3467
3468 if ($r < 5 || ($r == 5 && $v < 6)) {
3469 if ($s % 10) {
3470 die "invalid version '$ver'\n";
3471 }
3472 $s /= 10;
3473
3474 $ver = sprintf "%d.%03d", $r, $v;
3475 $s > 0 and $ver .= sprintf "_%02d", $s;
3476
3477 return $ver;
3478 }
3479
3480 return sprintf "%d.%d.%d", $r, $v, $s;
3481}
3482
3483sub info
3484{
3485 $opt{quiet} and return;
3486 print @_, "\n";
3487}
3488
3489sub diag
3490{
3491 $opt{quiet} and return;
3492 $opt{diag} and print @_, "\n";
3493}
3494
3495sub warning
3496{
3497 $opt{quiet} and return;
3498 print "*** ", @_, "\n";
3499}
3500
3501sub error
3502{
3503 print "*** ERROR: ", @_, "\n";
3504}
3505
3506my %given_hints;
3507my %given_warnings;
3508sub hint
3509{
3510 $opt{quiet} and return;
3511 my $func = shift;
3512 my $rv = 0;
3513 if (exists $warnings{$func} && !$given_warnings{$func}++) {
3514 my $warn = $warnings{$func};
3515 $warn =~ s!^!*** !mg;
3516 print "*** WARNING: $func\n", $warn;
3517 $rv++;
3518 }
3519 if ($opt{hints} && exists $hints{$func} && !$given_hints{$func}++) {
3520 my $hint = $hints{$func};
3521 $hint =~ s/^/ /mg;
3522 print " --- hint for $func ---\n", $hint;
3523 }
3524 $rv;
3525}
3526
3527sub usage
3528{
3529 my($usage) = do { local(@ARGV,$/)=($0); <> } =~ /^=head\d$HS+SYNOPSIS\s*^(.*?)\s*^=/ms;
3530 my %M = ( 'I' => '*' );
3531 $usage =~ s/^\s*perl\s+\S+/$^X $0/;
3532 $usage =~ s/([A-Z])<([^>]+)>/$M{$1}$2$M{$1}/g;
3533
3534 print <<ENDUSAGE;
3535
3536Usage: $usage
3537
3538See perldoc $0 for details.
3539
3540ENDUSAGE
3541
3542 exit 2;
3543}
3544
3545sub strip
3546{
3547 my $self = do { local(@ARGV,$/)=($0); <> };
3548 my($copy) = $self =~ /^=head\d\s+COPYRIGHT\s*^(.*?)^=\w+/ms;
3549 $copy =~ s/^(?=\S+)/ /gms;
3550 $self =~ s/^$HS+Do NOT edit.*?(?=^-)/$copy/ms;
3551 $self =~ s/^SKIP.*(?=^__DATA__)/SKIP
3552if (\@ARGV && \$ARGV[0] eq '--unstrip') {
3553 eval { require Devel::PPPort };
3554 \$@ and die "Cannot require Devel::PPPort, please install.\\n";
3555 if (eval \$Devel::PPPort::VERSION < $VERSION) {
3556 die "$0 was originally generated with Devel::PPPort $VERSION.\\n"
3557 . "Your Devel::PPPort is only version \$Devel::PPPort::VERSION.\\n"
3558 . "Please install a newer version, or --unstrip will not work.\\n";
3559 }
3560 Devel::PPPort::WriteFile(\$0);
3561 exit 0;
3562}
3563print <<END;
3564
3565Sorry, but this is a stripped version of \$0.
3566
3567To be able to use its original script and doc functionality,
3568please try to regenerate this file using:
3569
3570 \$^X \$0 --unstrip
3571
3572END
3573/ms;
3574 my($pl, $c) = $self =~ /(.*^__DATA__)(.*)/ms;
3575 $c =~ s{
3576 / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]*)
3577 | ( "[^"\\]*(?:\\.[^"\\]*)*"
3578 | '[^'\\]*(?:\\.[^'\\]*)*' )
3579 | ($HS+) }{ defined $2 ? ' ' : ($1 || '') }gsex;
3580 $c =~ s!\s+$!!mg;
3581 $c =~ s!^$LF!!mg;
3582 $c =~ s!^\s*#\s*!#!mg;
3583 $c =~ s!^\s+!!mg;
3584
3585 open OUT, ">$0" or die "cannot strip $0: $!\n";
3586 print OUT "$pl$c\n";
3587
3588 exit 0;
3589}
3590
3591__DATA__
3592*/
3593
3594#ifndef _P_P_PORTABILITY_H_
3595#define _P_P_PORTABILITY_H_
3596
3597#ifndef DPPP_NAMESPACE
3598# define DPPP_NAMESPACE DPPP_
3599#endif
3600
3601#define DPPP_CAT2(x,y) CAT2(x,y)
3602#define DPPP_(name) DPPP_CAT2(DPPP_NAMESPACE, name)
3603
3604#ifndef PERL_REVISION
3605# if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))
3606# define PERL_PATCHLEVEL_H_IMPLICIT
3607# include <patchlevel.h>
3608# endif
3609# if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))
3610# include <could_not_find_Perl_patchlevel.h>
3611# endif
3612# ifndef PERL_REVISION
3613# define PERL_REVISION (5)
3614 /* Replace: 1 */
3615# define PERL_VERSION PATCHLEVEL
3616# define PERL_SUBVERSION SUBVERSION
3617 /* Replace PERL_PATCHLEVEL with PERL_VERSION */
3618 /* Replace: 0 */
3619# endif
3620#endif
3621
3622#define _dpppDEC2BCD(dec) ((((dec)/100)<<8)|((((dec)%100)/10)<<4)|((dec)%10))
3623#define PERL_BCDVERSION ((_dpppDEC2BCD(PERL_REVISION)<<24)|(_dpppDEC2BCD(PERL_VERSION)<<12)|_dpppDEC2BCD(PERL_SUBVERSION))
3624
3625/* It is very unlikely that anyone will try to use this with Perl 6
3626 (or greater), but who knows.
3627 */
3628#if PERL_REVISION != 5
3629# error ppport.h only works with Perl version 5
3630#endif /* PERL_REVISION != 5 */
3631#ifndef dTHR
3632# define dTHR dNOOP
3633#endif
3634#ifndef dTHX
3635# define dTHX dNOOP
3636#endif
3637
3638#ifndef dTHXa
3639# define dTHXa(x) dNOOP
3640#endif
3641#ifndef pTHX
3642# define pTHX void
3643#endif
3644
3645#ifndef pTHX_
3646# define pTHX_
3647#endif
3648
3649#ifndef aTHX
3650# define aTHX
3651#endif
3652
3653#ifndef aTHX_
3654# define aTHX_
3655#endif
3656
3657#if (PERL_BCDVERSION < 0x5006000)
3658# ifdef USE_THREADS
3659# define aTHXR thr
3660# define aTHXR_ thr,
3661# else
3662# define aTHXR
3663# define aTHXR_
3664# endif
3665# define dTHXR dTHR
3666#else
3667# define aTHXR aTHX
3668# define aTHXR_ aTHX_
3669# define dTHXR dTHX
3670#endif
3671#ifndef dTHXoa
3672# define dTHXoa(x) dTHXa(x)
3673#endif
3674
3675#ifdef I_LIMITS
3676# include <limits.h>
3677#endif
3678
3679#ifndef PERL_UCHAR_MIN
3680# define PERL_UCHAR_MIN ((unsigned char)0)
3681#endif
3682
3683#ifndef PERL_UCHAR_MAX
3684# ifdef UCHAR_MAX
3685# define PERL_UCHAR_MAX ((unsigned char)UCHAR_MAX)
3686# else
3687# ifdef MAXUCHAR
3688# define PERL_UCHAR_MAX ((unsigned char)MAXUCHAR)
3689# else
3690# define PERL_UCHAR_MAX ((unsigned char)~(unsigned)0)
3691# endif
3692# endif
3693#endif
3694
3695#ifndef PERL_USHORT_MIN
3696# define PERL_USHORT_MIN ((unsigned short)0)
3697#endif
3698
3699#ifndef PERL_USHORT_MAX
3700# ifdef USHORT_MAX
3701# define PERL_USHORT_MAX ((unsigned short)USHORT_MAX)
3702# else
3703# ifdef MAXUSHORT
3704# define PERL_USHORT_MAX ((unsigned short)MAXUSHORT)
3705# else
3706# ifdef USHRT_MAX
3707# define PERL_USHORT_MAX ((unsigned short)USHRT_MAX)
3708# else
3709# define PERL_USHORT_MAX ((unsigned short)~(unsigned)0)
3710# endif
3711# endif
3712# endif
3713#endif
3714
3715#ifndef PERL_SHORT_MAX
3716# ifdef SHORT_MAX
3717# define PERL_SHORT_MAX ((short)SHORT_MAX)
3718# else
3719# ifdef MAXSHORT /* Often used in <values.h> */
3720# define PERL_SHORT_MAX ((short)MAXSHORT)
3721# else
3722# ifdef SHRT_MAX
3723# define PERL_SHORT_MAX ((short)SHRT_MAX)
3724# else
3725# define PERL_SHORT_MAX ((short) (PERL_USHORT_MAX >> 1))
3726# endif
3727# endif
3728# endif
3729#endif
3730
3731#ifndef PERL_SHORT_MIN
3732# ifdef SHORT_MIN
3733# define PERL_SHORT_MIN ((short)SHORT_MIN)
3734# else
3735# ifdef MINSHORT
3736# define PERL_SHORT_MIN ((short)MINSHORT)
3737# else
3738# ifdef SHRT_MIN
3739# define PERL_SHORT_MIN ((short)SHRT_MIN)
3740# else
3741# define PERL_SHORT_MIN (-PERL_SHORT_MAX - ((3 & -1) == 3))
3742# endif
3743# endif
3744# endif
3745#endif
3746
3747#ifndef PERL_UINT_MAX
3748# ifdef UINT_MAX
3749# define PERL_UINT_MAX ((unsigned int)UINT_MAX)
3750# else
3751# ifdef MAXUINT
3752# define PERL_UINT_MAX ((unsigned int)MAXUINT)
3753# else
3754# define PERL_UINT_MAX (~(unsigned int)0)
3755# endif
3756# endif
3757#endif
3758
3759#ifndef PERL_UINT_MIN
3760# define PERL_UINT_MIN ((unsigned int)0)
3761#endif
3762
3763#ifndef PERL_INT_MAX
3764# ifdef INT_MAX
3765# define PERL_INT_MAX ((int)INT_MAX)
3766# else
3767# ifdef MAXINT /* Often used in <values.h> */
3768# define PERL_INT_MAX ((int)MAXINT)
3769# else
3770# define PERL_INT_MAX ((int)(PERL_UINT_MAX >> 1))
3771# endif
3772# endif
3773#endif
3774
3775#ifndef PERL_INT_MIN
3776# ifdef INT_MIN
3777# define PERL_INT_MIN ((int)INT_MIN)
3778# else
3779# ifdef MININT
3780# define PERL_INT_MIN ((int)MININT)
3781# else
3782# define PERL_INT_MIN (-PERL_INT_MAX - ((3 & -1) == 3))
3783# endif
3784# endif
3785#endif
3786
3787#ifndef PERL_ULONG_MAX
3788# ifdef ULONG_MAX
3789# define PERL_ULONG_MAX ((unsigned long)ULONG_MAX)
3790# else
3791# ifdef MAXULONG
3792# define PERL_ULONG_MAX ((unsigned long)MAXULONG)
3793# else
3794# define PERL_ULONG_MAX (~(unsigned long)0)
3795# endif
3796# endif
3797#endif
3798
3799#ifndef PERL_ULONG_MIN
3800# define PERL_ULONG_MIN ((unsigned long)0L)
3801#endif
3802
3803#ifndef PERL_LONG_MAX
3804# ifdef LONG_MAX
3805# define PERL_LONG_MAX ((long)LONG_MAX)
3806# else
3807# ifdef MAXLONG
3808# define PERL_LONG_MAX ((long)MAXLONG)
3809# else
3810# define PERL_LONG_MAX ((long) (PERL_ULONG_MAX >> 1))
3811# endif
3812# endif
3813#endif
3814
3815#ifndef PERL_LONG_MIN
3816# ifdef LONG_MIN
3817# define PERL_LONG_MIN ((long)LONG_MIN)
3818# else
3819# ifdef MINLONG
3820# define PERL_LONG_MIN ((long)MINLONG)
3821# else
3822# define PERL_LONG_MIN (-PERL_LONG_MAX - ((3 & -1) == 3))
3823# endif
3824# endif
3825#endif
3826
3827#if defined(HAS_QUAD) && (defined(convex) || defined(uts))
3828# ifndef PERL_UQUAD_MAX
3829# ifdef ULONGLONG_MAX
3830# define PERL_UQUAD_MAX ((unsigned long long)ULONGLONG_MAX)
3831# else
3832# ifdef MAXULONGLONG
3833# define PERL_UQUAD_MAX ((unsigned long long)MAXULONGLONG)
3834# else
3835# define PERL_UQUAD_MAX (~(unsigned long long)0)
3836# endif
3837# endif
3838# endif
3839
3840# ifndef PERL_UQUAD_MIN
3841# define PERL_UQUAD_MIN ((unsigned long long)0L)
3842# endif
3843
3844# ifndef PERL_QUAD_MAX
3845# ifdef LONGLONG_MAX
3846# define PERL_QUAD_MAX ((long long)LONGLONG_MAX)
3847# else
3848# ifdef MAXLONGLONG
3849# define PERL_QUAD_MAX ((long long)MAXLONGLONG)
3850# else
3851# define PERL_QUAD_MAX ((long long) (PERL_UQUAD_MAX >> 1))
3852# endif
3853# endif
3854# endif
3855
3856# ifndef PERL_QUAD_MIN
3857# ifdef LONGLONG_MIN
3858# define PERL_QUAD_MIN ((long long)LONGLONG_MIN)
3859# else
3860# ifdef MINLONGLONG
3861# define PERL_QUAD_MIN ((long long)MINLONGLONG)
3862# else
3863# define PERL_QUAD_MIN (-PERL_QUAD_MAX - ((3 & -1) == 3))
3864# endif
3865# endif
3866# endif
3867#endif
3868
3869/* This is based on code from 5.003 perl.h */
3870#ifdef HAS_QUAD
3871# ifdef cray
3872#ifndef IVTYPE
3873# define IVTYPE int
3874#endif
3875
3876#ifndef IV_MIN
3877# define IV_MIN PERL_INT_MIN
3878#endif
3879
3880#ifndef IV_MAX
3881# define IV_MAX PERL_INT_MAX
3882#endif
3883
3884#ifndef UV_MIN
3885# define UV_MIN PERL_UINT_MIN
3886#endif
3887
3888#ifndef UV_MAX
3889# define UV_MAX PERL_UINT_MAX
3890#endif
3891
3892# ifdef INTSIZE
3893#ifndef IVSIZE
3894# define IVSIZE INTSIZE
3895#endif
3896
3897# endif
3898# else
3899# if defined(convex) || defined(uts)
3900#ifndef IVTYPE
3901# define IVTYPE long long
3902#endif
3903
3904#ifndef IV_MIN
3905# define IV_MIN PERL_QUAD_MIN
3906#endif
3907
3908#ifndef IV_MAX
3909# define IV_MAX PERL_QUAD_MAX
3910#endif
3911
3912#ifndef UV_MIN
3913# define UV_MIN PERL_UQUAD_MIN
3914#endif
3915
3916#ifndef UV_MAX
3917# define UV_MAX PERL_UQUAD_MAX
3918#endif
3919
3920# ifdef LONGLONGSIZE
3921#ifndef IVSIZE
3922# define IVSIZE LONGLONGSIZE
3923#endif
3924
3925# endif
3926# else
3927#ifndef IVTYPE
3928# define IVTYPE long
3929#endif
3930
3931#ifndef IV_MIN
3932# define IV_MIN PERL_LONG_MIN
3933#endif
3934
3935#ifndef IV_MAX
3936# define IV_MAX PERL_LONG_MAX
3937#endif
3938
3939#ifndef UV_MIN
3940# define UV_MIN PERL_ULONG_MIN
3941#endif
3942
3943#ifndef UV_MAX
3944# define UV_MAX PERL_ULONG_MAX
3945#endif
3946
3947# ifdef LONGSIZE
3948#ifndef IVSIZE
3949# define IVSIZE LONGSIZE
3950#endif
3951
3952# endif
3953# endif
3954# endif
3955#ifndef IVSIZE
3956# define IVSIZE 8
3957#endif
3958
3959#ifndef LONGSIZE
3960# define LONGSIZE 8
3961#endif
3962
3963#ifndef PERL_QUAD_MIN
3964# define PERL_QUAD_MIN IV_MIN
3965#endif
3966
3967#ifndef PERL_QUAD_MAX
3968# define PERL_QUAD_MAX IV_MAX
3969#endif
3970
3971#ifndef PERL_UQUAD_MIN
3972# define PERL_UQUAD_MIN UV_MIN
3973#endif
3974
3975#ifndef PERL_UQUAD_MAX
3976# define PERL_UQUAD_MAX UV_MAX
3977#endif
3978
3979#else
3980#ifndef IVTYPE
3981# define IVTYPE long
3982#endif
3983
3984#ifndef LONGSIZE
3985# define LONGSIZE 4
3986#endif
3987
3988#ifndef IV_MIN
3989# define IV_MIN PERL_LONG_MIN
3990#endif
3991
3992#ifndef IV_MAX
3993# define IV_MAX PERL_LONG_MAX
3994#endif
3995
3996#ifndef UV_MIN
3997# define UV_MIN PERL_ULONG_MIN
3998#endif
3999
4000#ifndef UV_MAX
4001# define UV_MAX PERL_ULONG_MAX
4002#endif
4003
4004#endif
4005
4006#ifndef IVSIZE
4007# ifdef LONGSIZE
4008# define IVSIZE LONGSIZE
4009# else
4010# define IVSIZE 4 /* A bold guess, but the best we can make. */
4011# endif
4012#endif
4013#ifndef UVTYPE
4014# define UVTYPE unsigned IVTYPE
4015#endif
4016
4017#ifndef UVSIZE
4018# define UVSIZE IVSIZE
4019#endif
4020#ifndef sv_setuv
4021# define sv_setuv(sv, uv) \
4022 STMT_START { \
4023 UV TeMpUv = uv; \
4024 if (TeMpUv <= IV_MAX) \
4025 sv_setiv(sv, TeMpUv); \
4026 else \
4027 sv_setnv(sv, (double)TeMpUv); \
4028 } STMT_END
4029#endif
4030#ifndef newSVuv
4031# define newSVuv(uv) ((uv) <= IV_MAX ? newSViv((IV)uv) : newSVnv((NV)uv))
4032#endif
4033#ifndef sv_2uv
4034# define sv_2uv(sv) ((PL_Sv = (sv)), (UV) (SvNOK(PL_Sv) ? SvNV(PL_Sv) : sv_2nv(PL_Sv)))
4035#endif
4036