Better POD
[authen-passphrase-scrypt.git] / ppport.h
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
18 SKIP
19
20 =pod
21
22 =head1 NAME
23
24 ppport.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
58 This version of F<ppport.h> is designed to support operation with Perl
59 installations back to 5.003, and has been tested up to 5.20.
60
61 =head1 OPTIONS
62
63 =head2 --help
64
65 Display a brief usage summary.
66
67 =head2 --version
68
69 Display the version of F<ppport.h>.
70
71 =head2 --patch=I<file>
72
73 If this option is given, a single patch file will be created if
74 any changes are suggested. This requires a working diff program
75 to be installed on your system.
76
77 =head2 --copy=I<suffix>
78
79 If this option is given, a copy of each file will be saved with
80 the given suffix that contains the suggested changes. This does
81 not require any external programs. Note that this does not
82 automagically add a dot between the original filename and the
83 suffix. If you want the dot, you have to include it in the option
84 argument.
85
86 If neither C<--patch> or C<--copy> are given, the default is to
87 simply print the diffs for each file. This requires either
88 C<Text::Diff> or a C<diff> program to be installed.
89
90 =head2 --diff=I<program>
91
92 Manually set the diff program and options to use. The default
93 is to use C<Text::Diff>, when installed, and output unified
94 context diffs.
95
96 =head2 --compat-version=I<version>
97
98 Tell F<ppport.h> to check for compatibility with the given
99 Perl version. The default is to check for compatibility with Perl
100 version 5.003. You can use this option to reduce the output
101 of F<ppport.h> if you intend to be backward compatible only
102 down to a certain Perl version.
103
104 =head2 --cplusplus
105
106 Usually, F<ppport.h> will detect C++ style comments and
107 replace them with C style comments for portability reasons.
108 Using this option instructs F<ppport.h> to leave C++
109 comments untouched.
110
111 =head2 --quiet
112
113 Be quiet. Don't print anything except fatal errors.
114
115 =head2 --nodiag
116
117 Don't output any diagnostic messages. Only portability
118 alerts will be printed.
119
120 =head2 --nohints
121
122 Don't output any hints. Hints often contain useful portability
123 notes. Warnings will still be displayed.
124
125 =head2 --nochanges
126
127 Don't suggest any changes. Only give diagnostic output and hints
128 unless these are also deactivated.
129
130 =head2 --nofilter
131
132 Don't filter the list of input files. By default, files not looking
133 like source code (i.e. not *.xs, *.c, *.cc, *.cpp or *.h) are skipped.
134
135 =head2 --strip
136
137 Strip all script and documentation functionality from F<ppport.h>.
138 This reduces the size of F<ppport.h> dramatically and may be useful
139 if you want to include F<ppport.h> in smaller modules without
140 increasing their distribution size too much.
141
142 The stripped F<ppport.h> will have a C<--unstrip> option that allows
143 you to undo the stripping, but only if an appropriate C<Devel::PPPort>
144 module is installed.
145
146 =head2 --list-provided
147
148 Lists the API elements for which compatibility is provided by
149 F<ppport.h>. Also lists if it must be explicitly requested,
150 if it has dependencies, and if there are hints or warnings for it.
151
152 =head2 --list-unsupported
153
154 Lists the API elements that are known not to be supported by
155 F<ppport.h> and below which version of Perl they probably
156 won't be available or work.
157
158 =head2 --api-info=I<name>
159
160 Show portability information for API elements matching I<name>.
161 If I<name> is surrounded by slashes, it is interpreted as a regular
162 expression.
163
164 =head1 DESCRIPTION
165
166 In order for a Perl extension (XS) module to be as portable as possible
167 across differing versions of Perl itself, certain steps need to be taken.
168
169 =over 4
170
171 =item *
172
173 Including this header is the first major one. This alone will give you
174 access to a large part of the Perl API that hasn't been available in
175 earlier Perl releases. Use
176
177 perl ppport.h --list-provided
178
179 to see which API elements are provided by ppport.h.
180
181 =item *
182
183 You should avoid using deprecated parts of the API. For example, using
184 global Perl variables without the C<PL_> prefix is deprecated. Also,
185 some API functions used to have a C<perl_> prefix. Using this form is
186 also deprecated. You can safely use the supported API, as F<ppport.h>
187 will provide wrappers for older Perl versions.
188
189 =item *
190
191 If you use one of a few functions or variables that were not present in
192 earlier versions of Perl, and that can't be provided using a macro, you
193 have to explicitly request support for these functions by adding one or
194 more C<#define>s in your source code before the inclusion of F<ppport.h>.
195
196 These functions or variables will be marked C<explicit> in the list shown
197 by C<--list-provided>.
198
199 Depending on whether you module has a single or multiple files that
200 use such functions or variables, you want either C<static> or global
201 variants.
202
203 For a C<static> function or variable (used only in a single source
204 file), use:
205
206 #define NEED_function
207 #define NEED_variable
208
209 For a global function or variable (used in multiple source files),
210 use:
211
212 #define NEED_function_GLOBAL
213 #define NEED_variable_GLOBAL
214
215 Note that you mustn't have more than one global request for the
216 same 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
255 To avoid namespace conflicts, you can change the namespace of the
256 explicitly exported functions / variables using the C<DPPP_NAMESPACE>
257 macro. Just C<#define> the macro before including C<ppport.h>:
258
259 #define DPPP_NAMESPACE MyOwnNamespace_
260 #include "ppport.h"
261
262 The default namespace is C<DPPP_>.
263
264 =back
265
266 The good thing is that most of the above can be checked by running
267 F<ppport.h> on your source code. See the next section for
268 details.
269
270 =head1 EXAMPLES
271
272 To verify whether F<ppport.h> is needed for your module, whether you
273 should make any changes to your code, and whether any special defines
274 should be used, F<ppport.h> can be run as a Perl script to check your
275 source code. Simply say:
276
277 perl ppport.h
278
279 The result will usually be a list of patches suggesting changes
280 that should at least be acceptable, if not necessarily the most
281 efficient solution, or a fix for all possible problems.
282
283 If you know that your XS module uses features only available in
284 newer Perl releases, if you're aware that it uses C++ comments,
285 and if you want all suggestions as a single patch file, you could
286 use something like this:
287
288 perl ppport.h --compat-version=5.6.0 --cplusplus --patch=test.diff
289
290 If you only want your code to be scanned without any suggestions
291 for changes, use:
292
293 perl ppport.h --nochanges
294
295 You can specify a different C<diff> program or options, using
296 the C<--diff> option:
297
298 perl ppport.h --diff='diff -C 10'
299
300 This would output context diffs with 10 lines of context.
301
302 If you want to create patched copies of your files instead, use:
303
304 perl ppport.h --copy=.new
305
306 To display portability information for the C<newSVpvn> function,
307 use:
308
309 perl ppport.h --api-info=newSVpvn
310
311 Since the argument to C<--api-info> can be a regular expression,
312 you can use
313
314 perl ppport.h --api-info=/_nomg$/
315
316 to display portability information for all C<_nomg> functions or
317
318 perl ppport.h --api-info=/./
319
320 to display information for all known API elements.
321
322 =head1 BUGS
323
324 If this version of F<ppport.h> is causing failure during
325 the compilation of this module, please check if newer versions
326 of either this module or C<Devel::PPPort> are available on CPAN
327 before sending a bug report.
328
329 If F<ppport.h> was generated using the latest version of
330 C<Devel::PPPort> and is causing failure of this module, please
331 file a bug report here: L<https://github.com/mhx/Devel-PPPort/issues/>
332
333 Please include the following information:
334
335 =over 4
336
337 =item 1.
338
339 The complete output from running "perl -V"
340
341 =item 2.
342
343 This file.
344
345 =item 3.
346
347 The name and version of the module you were trying to build.
348
349 =item 4.
350
351 A full log of the build that failed.
352
353 =item 5.
354
355 Any other information that you think could be relevant.
356
357 =back
358
359 For the latest version of this code, please get the C<Devel::PPPort>
360 module from CPAN.
361
362 =head1 COPYRIGHT
363
364 Version 3.x, Copyright (c) 2004-2013, Marcus Holland-Moritz.
365
366 Version 2.x, Copyright (C) 2001, Paul Marquess.
367
368 Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
369
370 This program is free software; you can redistribute it and/or
371 modify it under the same terms as Perl itself.
372
373 =head1 SEE ALSO
374
375 See L<Devel::PPPort>.
376
377 =cut
378
379 use strict;
380
381 # Disable broken TRIE-optimization
382 BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if $] >= 5.009004 && $] <= 5.009005 }
383
384 my $VERSION = 3.32;
385
386 my %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
397 my($ppport) = $0 =~ /([\w.]+)$/;
398 my $LF = '(?:\r\n|[\r\n])'; # line feed
399 my $HS = "[ \t]"; # horizontal whitespace
400
401 # Never use C comments in this file!
402 my $ccs = '/'.'*';
403 my $cce = '*'.'/';
404 my $rccs = quotemeta $ccs;
405 my $rcce = quotemeta $cce;
406
407 eval {
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
416 if ($@ and grep /^-/, @ARGV) {
417 usage() if "@ARGV" =~ /^--?h(?:elp)?$/;
418 die "Getopt::Long not found. Please don't use any options.\n";
419 }
420
421 if ($opt{version}) {
422 print "This is $0 $VERSION.\n";
423 exit 0;
424 }
425
426 usage() if $opt{help};
427 strip() if $opt{strip};
428
429 if (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 }
438 else {
439 $opt{'compat-version'} = 5;
440 }
441
442 my %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(
451 ASCII_TO_NEED||5.007001|n
452 AvFILLp|5.004050||p
453 AvFILL|||
454 BhkDISABLE||5.021008|
455 BhkENABLE||5.021008|
456 BhkENTRY_set||5.021008|
457 BhkENTRY|||
458 BhkFLAGS|||
459 CALL_BLOCK_HOOKS|||
460 CLASS|||n
461 CPERLscope|5.005000||p
462 CX_CURPAD_SAVE|||
463 CX_CURPAD_SV|||
464 CopFILEAV|5.006000||p
465 CopFILEGV_set|5.006000||p
466 CopFILEGV|5.006000||p
467 CopFILESV|5.006000||p
468 CopFILE_set|5.006000||p
469 CopFILE|5.006000||p
470 CopSTASHPV_set|5.006000||p
471 CopSTASHPV|5.006000||p
472 CopSTASH_eq|5.006000||p
473 CopSTASH_set|5.006000||p
474 CopSTASH|5.006000||p
475 CopyD|5.009002|5.004050|p
476 Copy|||
477 CvPADLIST||5.008001|
478 CvSTASH|||
479 CvWEAKOUTSIDE|||
480 DEFSV_set|5.010001||p
481 DEFSV|5.004050||p
482 END_EXTERN_C|5.005000||p
483 ENTER|||
484 ERRSV|5.004050||p
485 EXTEND|||
486 EXTERN_C|5.005000||p
487 F0convert|||n
488 FREETMPS|||
489 GIMME_V||5.004000|n
490 GIMME|||n
491 GROK_NUMERIC_RADIX|5.007002||p
492 G_ARRAY|||
493 G_DISCARD|||
494 G_EVAL|||
495 G_METHOD|5.006001||p
496 G_NOARGS|||
497 G_SCALAR|||
498 G_VOID||5.004000|
499 GetVars|||
500 GvAV|||
501 GvCV|||
502 GvHV|||
503 GvSVn|5.009003||p
504 GvSV|||
505 Gv_AMupdate||5.011000|
506 HEf_SVKEY|5.003070||p
507 HeHASH||5.003070|
508 HeKEY||5.003070|
509 HeKLEN||5.003070|
510 HePV||5.004000|
511 HeSVKEY_force||5.003070|
512 HeSVKEY_set||5.004000|
513 HeSVKEY||5.003070|
514 HeUTF8|5.010001|5.008000|p
515 HeVAL||5.003070|
516 HvENAMELEN||5.015004|
517 HvENAMEUTF8||5.015004|
518 HvENAME||5.013007|
519 HvNAMELEN_get|5.009003||p
520 HvNAMELEN||5.015004|
521 HvNAMEUTF8||5.015004|
522 HvNAME_get|5.009003||p
523 HvNAME|||
524 INT2PTR|5.006000||p
525 IN_LOCALE_COMPILETIME|5.007002||p
526 IN_LOCALE_RUNTIME|5.007002||p
527 IN_LOCALE|5.007002||p
528 IN_PERL_COMPILETIME|5.008001||p
529 IS_NUMBER_GREATER_THAN_UV_MAX|5.007002||p
530 IS_NUMBER_INFINITY|5.007002||p
531 IS_NUMBER_IN_UV|5.007002||p
532 IS_NUMBER_NAN|5.007003||p
533 IS_NUMBER_NEG|5.007002||p
534 IS_NUMBER_NOT_INT|5.007002||p
535 IVSIZE|5.006000||p
536 IVTYPE|5.006000||p
537 IVdf|5.006000||p
538 LEAVE|||
539 LINKLIST||5.013006|
540 LVRET|||
541 MARK|||
542 MULTICALL||5.021008|
543 MUTABLE_PTR|5.010001||p
544 MUTABLE_SV|5.010001||p
545 MY_CXT_CLONE|5.009002||p
546 MY_CXT_INIT|5.007003||p
547 MY_CXT|5.007003||p
548 MoveD|5.009002|5.004050|p
549 Move|||
550 NATIVE_TO_NEED||5.007001|n
551 NOOP|5.005000||p
552 NUM2PTR|5.006000||p
553 NVTYPE|5.006000||p
554 NVef|5.006001||p
555 NVff|5.006001||p
556 NVgf|5.006001||p
557 Newxc|5.009003||p
558 Newxz|5.009003||p
559 Newx|5.009003||p
560 Nullav|||
561 Nullch|||
562 Nullcv|||
563 Nullhv|||
564 Nullsv|||
565 OP_CLASS||5.013007|
566 OP_DESC||5.007003|
567 OP_NAME||5.007003|
568 OP_TYPE_IS_OR_WAS||5.019010|
569 OP_TYPE_IS||5.019007|
570 ORIGMARK|||
571 OpHAS_SIBLING||5.021007|
572 OpSIBLING_set||5.021007|
573 OpSIBLING||5.021007|
574 PAD_BASE_SV|||
575 PAD_CLONE_VARS|||
576 PAD_COMPNAME_FLAGS|||
577 PAD_COMPNAME_GEN_set|||
578 PAD_COMPNAME_GEN|||
579 PAD_COMPNAME_OURSTASH|||
580 PAD_COMPNAME_PV|||
581 PAD_COMPNAME_TYPE|||
582 PAD_RESTORE_LOCAL|||
583 PAD_SAVE_LOCAL|||
584 PAD_SAVE_SETNULLPAD|||
585 PAD_SETSV|||
586 PAD_SET_CUR_NOSAVE|||
587 PAD_SET_CUR|||
588 PAD_SVl|||
589 PAD_SV|||
590 PERLIO_FUNCS_CAST|5.009003||p
591 PERLIO_FUNCS_DECL|5.009003||p
592 PERL_ABS|5.008001||p
593 PERL_BCDVERSION|5.021008||p
594 PERL_GCC_BRACE_GROUPS_FORBIDDEN|5.008001||p
595 PERL_HASH|5.003070||p
596 PERL_INT_MAX|5.003070||p
597 PERL_INT_MIN|5.003070||p
598 PERL_LONG_MAX|5.003070||p
599 PERL_LONG_MIN|5.003070||p
600 PERL_MAGIC_arylen|5.007002||p
601 PERL_MAGIC_backref|5.007002||p
602 PERL_MAGIC_bm|5.007002||p
603 PERL_MAGIC_collxfrm|5.007002||p
604 PERL_MAGIC_dbfile|5.007002||p
605 PERL_MAGIC_dbline|5.007002||p
606 PERL_MAGIC_defelem|5.007002||p
607 PERL_MAGIC_envelem|5.007002||p
608 PERL_MAGIC_env|5.007002||p
609 PERL_MAGIC_ext|5.007002||p
610 PERL_MAGIC_fm|5.007002||p
611 PERL_MAGIC_glob|5.021008||p
612 PERL_MAGIC_isaelem|5.007002||p
613 PERL_MAGIC_isa|5.007002||p
614 PERL_MAGIC_mutex|5.021008||p
615 PERL_MAGIC_nkeys|5.007002||p
616 PERL_MAGIC_overload_elem|5.021008||p
617 PERL_MAGIC_overload_table|5.007002||p
618 PERL_MAGIC_overload|5.021008||p
619 PERL_MAGIC_pos|5.007002||p
620 PERL_MAGIC_qr|5.007002||p
621 PERL_MAGIC_regdata|5.007002||p
622 PERL_MAGIC_regdatum|5.007002||p
623 PERL_MAGIC_regex_global|5.007002||p
624 PERL_MAGIC_shared_scalar|5.007003||p
625 PERL_MAGIC_shared|5.007003||p
626 PERL_MAGIC_sigelem|5.007002||p
627 PERL_MAGIC_sig|5.007002||p
628 PERL_MAGIC_substr|5.007002||p
629 PERL_MAGIC_sv|5.007002||p
630 PERL_MAGIC_taint|5.007002||p
631 PERL_MAGIC_tiedelem|5.007002||p
632 PERL_MAGIC_tiedscalar|5.007002||p
633 PERL_MAGIC_tied|5.007002||p
634 PERL_MAGIC_utf8|5.008001||p
635 PERL_MAGIC_uvar_elem|5.007003||p
636 PERL_MAGIC_uvar|5.007002||p
637 PERL_MAGIC_vec|5.007002||p
638 PERL_MAGIC_vstring|5.008001||p
639 PERL_PV_ESCAPE_ALL|5.009004||p
640 PERL_PV_ESCAPE_FIRSTCHAR|5.009004||p
641 PERL_PV_ESCAPE_NOBACKSLASH|5.009004||p
642 PERL_PV_ESCAPE_NOCLEAR|5.009004||p
643 PERL_PV_ESCAPE_QUOTE|5.009004||p
644 PERL_PV_ESCAPE_RE|5.009005||p
645 PERL_PV_ESCAPE_UNI_DETECT|5.009004||p
646 PERL_PV_ESCAPE_UNI|5.009004||p
647 PERL_PV_PRETTY_DUMP|5.009004||p
648 PERL_PV_PRETTY_ELLIPSES|5.010000||p
649 PERL_PV_PRETTY_LTGT|5.009004||p
650 PERL_PV_PRETTY_NOCLEAR|5.010000||p
651 PERL_PV_PRETTY_QUOTE|5.009004||p
652 PERL_PV_PRETTY_REGPROP|5.009004||p
653 PERL_QUAD_MAX|5.003070||p
654 PERL_QUAD_MIN|5.003070||p
655 PERL_REVISION|5.006000||p
656 PERL_SCAN_ALLOW_UNDERSCORES|5.007003||p
657 PERL_SCAN_DISALLOW_PREFIX|5.007003||p
658 PERL_SCAN_GREATER_THAN_UV_MAX|5.007003||p
659 PERL_SCAN_SILENT_ILLDIGIT|5.008001||p
660 PERL_SHORT_MAX|5.003070||p
661 PERL_SHORT_MIN|5.003070||p
662 PERL_SIGNALS_UNSAFE_FLAG|5.008001||p
663 PERL_SUBVERSION|5.006000||p
664 PERL_SYS_INIT3||5.006000|
665 PERL_SYS_INIT|||
666 PERL_SYS_TERM||5.021008|
667 PERL_UCHAR_MAX|5.003070||p
668 PERL_UCHAR_MIN|5.003070||p
669 PERL_UINT_MAX|5.003070||p
670 PERL_UINT_MIN|5.003070||p
671 PERL_ULONG_MAX|5.003070||p
672 PERL_ULONG_MIN|5.003070||p
673 PERL_UNUSED_ARG|5.009003||p
674 PERL_UNUSED_CONTEXT|5.009004||p
675 PERL_UNUSED_DECL|5.007002||p
676 PERL_UNUSED_VAR|5.007002||p
677 PERL_UQUAD_MAX|5.003070||p
678 PERL_UQUAD_MIN|5.003070||p
679 PERL_USE_GCC_BRACE_GROUPS|5.009004||p
680 PERL_USHORT_MAX|5.003070||p
681 PERL_USHORT_MIN|5.003070||p
682 PERL_VERSION|5.006000||p
683 PL_DBsignal|5.005000||p
684 PL_DBsingle|||pn
685 PL_DBsub|||pn
686 PL_DBtrace|||pn
687 PL_Sv|5.005000||p
688 PL_bufend|5.021008||p
689 PL_bufptr|5.021008||p
690 PL_check||5.006000|
691 PL_compiling|5.004050||p
692 PL_comppad_name||5.017004|
693 PL_comppad||5.008001|
694 PL_copline|5.021008||p
695 PL_curcop|5.004050||p
696 PL_curpad||5.005000|
697 PL_curstash|5.004050||p
698 PL_debstash|5.004050||p
699 PL_defgv|5.004050||p
700 PL_diehook|5.004050||p
701 PL_dirty|5.004050||p
702 PL_dowarn|||pn
703 PL_errgv|5.004050||p
704 PL_error_count|5.021008||p
705 PL_expect|5.021008||p
706 PL_hexdigit|5.005000||p
707 PL_hints|5.005000||p
708 PL_in_my_stash|5.021008||p
709 PL_in_my|5.021008||p
710 PL_keyword_plugin||5.011002|
711 PL_last_in_gv|||n
712 PL_laststatval|5.005000||p
713 PL_lex_state|5.021008||p
714 PL_lex_stuff|5.021008||p
715 PL_linestr|5.021008||p
716 PL_modglobal||5.005000|n
717 PL_na|5.004050||pn
718 PL_no_modify|5.006000||p
719 PL_ofsgv|||n
720 PL_opfreehook||5.011000|n
721 PL_parser|5.009005||p
722 PL_peepp||5.007003|n
723 PL_perl_destruct_level|5.004050||p
724 PL_perldb|5.004050||p
725 PL_ppaddr|5.006000||p
726 PL_rpeepp||5.013005|n
727 PL_rsfp_filters|5.021008||p
728 PL_rsfp|5.021008||p
729 PL_rs|||n
730 PL_signals|5.008001||p
731 PL_stack_base|5.004050||p
732 PL_stack_sp|5.004050||p
733 PL_statcache|5.005000||p
734 PL_stdingv|5.004050||p
735 PL_sv_arenaroot|5.004050||p
736 PL_sv_no|5.004050||pn
737 PL_sv_undef|5.004050||pn
738 PL_sv_yes|5.004050||pn
739 PL_tainted|5.004050||p
740 PL_tainting|5.004050||p
741 PL_tokenbuf|5.021008||p
742 POP_MULTICALL||5.021008|
743 POPi|||n
744 POPl|||n
745 POPn|||n
746 POPpbytex||5.007001|n
747 POPpx||5.005030|n
748 POPp|||n
749 POPs|||n
750 PTR2IV|5.006000||p
751 PTR2NV|5.006000||p
752 PTR2UV|5.006000||p
753 PTR2nat|5.009003||p
754 PTR2ul|5.007001||p
755 PTRV|5.006000||p
756 PUSHMARK|||
757 PUSH_MULTICALL||5.021008|
758 PUSHi|||
759 PUSHmortal|5.009002||p
760 PUSHn|||
761 PUSHp|||
762 PUSHs|||
763 PUSHu|5.004000||p
764 PUTBACK|||
765 PadARRAY||5.021008|
766 PadMAX||5.021008|
767 PadlistARRAY||5.021008|
768 PadlistMAX||5.021008|
769 PadlistNAMESARRAY||5.021008|
770 PadlistNAMESMAX||5.021008|
771 PadlistNAMES||5.021008|
772 PadlistREFCNT||5.017004|
773 PadnameIsOUR|||
774 PadnameIsSTATE|||
775 PadnameLEN||5.021008|
776 PadnameOURSTASH|||
777 PadnameOUTER|||
778 PadnamePV||5.021008|
779 PadnameREFCNT_dec||5.021008|
780 PadnameREFCNT||5.021008|
781 PadnameSV||5.021008|
782 PadnameTYPE|||
783 PadnameUTF8||5.021007|
784 PadnamelistARRAY||5.021008|
785 PadnamelistMAX||5.021008|
786 PadnamelistREFCNT_dec||5.021008|
787 PadnamelistREFCNT||5.021008|
788 PerlIO_clearerr||5.007003|
789 PerlIO_close||5.007003|
790 PerlIO_context_layers||5.009004|
791 PerlIO_eof||5.007003|
792 PerlIO_error||5.007003|
793 PerlIO_fileno||5.007003|
794 PerlIO_fill||5.007003|
795 PerlIO_flush||5.007003|
796 PerlIO_get_base||5.007003|
797 PerlIO_get_bufsiz||5.007003|
798 PerlIO_get_cnt||5.007003|
799 PerlIO_get_ptr||5.007003|
800 PerlIO_read||5.007003|
801 PerlIO_restore_errno|||
802 PerlIO_save_errno|||
803 PerlIO_seek||5.007003|
804 PerlIO_set_cnt||5.007003|
805 PerlIO_set_ptrcnt||5.007003|
806 PerlIO_setlinebuf||5.007003|
807 PerlIO_stderr||5.007003|
808 PerlIO_stdin||5.007003|
809 PerlIO_stdout||5.007003|
810 PerlIO_tell||5.007003|
811 PerlIO_unread||5.007003|
812 PerlIO_write||5.007003|
813 Perl_signbit||5.009005|n
814 PoisonFree|5.009004||p
815 PoisonNew|5.009004||p
816 PoisonWith|5.009004||p
817 Poison|5.008000||p
818 READ_XDIGIT||5.017006|
819 RETVAL|||n
820 Renewc|||
821 Renew|||
822 SAVECLEARSV|||
823 SAVECOMPPAD|||
824 SAVEPADSV|||
825 SAVETMPS|||
826 SAVE_DEFSV|5.004050||p
827 SPAGAIN|||
828 SP|||
829 START_EXTERN_C|5.005000||p
830 START_MY_CXT|5.007003||p
831 STMT_END|||p
832 STMT_START|||p
833 STR_WITH_LEN|5.009003||p
834 ST|||
835 SV_CONST_RETURN|5.009003||p
836 SV_COW_DROP_PV|5.008001||p
837 SV_COW_SHARED_HASH_KEYS|5.009005||p
838 SV_GMAGIC|5.007002||p
839 SV_HAS_TRAILING_NUL|5.009004||p
840 SV_IMMEDIATE_UNREF|5.007001||p
841 SV_MUTABLE_RETURN|5.009003||p
842 SV_NOSTEAL|5.009002||p
843 SV_SMAGIC|5.009003||p
844 SV_UTF8_NO_ENCODING|5.008001||p
845 SVfARG|5.009005||p
846 SVf_UTF8|5.006000||p
847 SVf|5.006000||p
848 SVt_INVLIST||5.019002|
849 SVt_IV|||
850 SVt_NULL|||
851 SVt_NV|||
852 SVt_PVAV|||
853 SVt_PVCV|||
854 SVt_PVFM|||
855 SVt_PVGV|||
856 SVt_PVHV|||
857 SVt_PVIO|||
858 SVt_PVIV|||
859 SVt_PVLV|||
860 SVt_PVMG|||
861 SVt_PVNV|||
862 SVt_PV|||
863 SVt_REGEXP||5.011000|
864 Safefree|||
865 Slab_Alloc|||
866 Slab_Free|||
867 Slab_to_ro|||
868 Slab_to_rw|||
869 StructCopy|||
870 SvCUR_set|||
871 SvCUR|||
872 SvEND|||
873 SvGAMAGIC||5.006001|
874 SvGETMAGIC|5.004050||p
875 SvGROW|||
876 SvIOK_UV||5.006000|
877 SvIOK_notUV||5.006000|
878 SvIOK_off|||
879 SvIOK_only_UV||5.006000|
880 SvIOK_only|||
881 SvIOK_on|||
882 SvIOKp|||
883 SvIOK|||
884 SvIVX|||
885 SvIV_nomg|5.009001||p
886 SvIV_set|||
887 SvIVx|||
888 SvIV|||
889 SvIsCOW_shared_hash||5.008003|
890 SvIsCOW||5.008003|
891 SvLEN_set|||
892 SvLEN|||
893 SvLOCK||5.007003|
894 SvMAGIC_set|5.009003||p
895 SvNIOK_off|||
896 SvNIOKp|||
897 SvNIOK|||
898 SvNOK_off|||
899 SvNOK_only|||
900 SvNOK_on|||
901 SvNOKp|||
902 SvNOK|||
903 SvNVX|||
904 SvNV_nomg||5.013002|
905 SvNV_set|||
906 SvNVx|||
907 SvNV|||
908 SvOK|||
909 SvOOK_offset||5.011000|
910 SvOOK|||
911 SvPOK_off|||
912 SvPOK_only_UTF8||5.006000|
913 SvPOK_only|||
914 SvPOK_on|||
915 SvPOKp|||
916 SvPOK|||
917 SvPVX_const|5.009003||p
918 SvPVX_mutable|5.009003||p
919 SvPVX|||
920 SvPV_const|5.009003||p
921 SvPV_flags_const_nolen|5.009003||p
922 SvPV_flags_const|5.009003||p
923 SvPV_flags_mutable|5.009003||p
924 SvPV_flags|5.007002||p
925 SvPV_force_flags_mutable|5.009003||p
926 SvPV_force_flags_nolen|5.009003||p
927 SvPV_force_flags|5.007002||p
928 SvPV_force_mutable|5.009003||p
929 SvPV_force_nolen|5.009003||p
930 SvPV_force_nomg_nolen|5.009003||p
931 SvPV_force_nomg|5.007002||p
932 SvPV_force|||p
933 SvPV_mutable|5.009003||p
934 SvPV_nolen_const|5.009003||p
935 SvPV_nolen|5.006000||p
936 SvPV_nomg_const_nolen|5.009003||p
937 SvPV_nomg_const|5.009003||p
938 SvPV_nomg_nolen|5.013007||p
939 SvPV_nomg|5.007002||p
940 SvPV_renew|5.009003||p
941 SvPV_set|||
942 SvPVbyte_force||5.009002|
943 SvPVbyte_nolen||5.006000|
944 SvPVbytex_force||5.006000|
945 SvPVbytex||5.006000|
946 SvPVbyte|5.006000||p
947 SvPVutf8_force||5.006000|
948 SvPVutf8_nolen||5.006000|
949 SvPVutf8x_force||5.006000|
950 SvPVutf8x||5.006000|
951 SvPVutf8||5.006000|
952 SvPVx|||
953 SvPV|||
954 SvREFCNT_dec_NN||5.017007|
955 SvREFCNT_dec|||
956 SvREFCNT_inc_NN|5.009004||p
957 SvREFCNT_inc_simple_NN|5.009004||p
958 SvREFCNT_inc_simple_void_NN|5.009004||p
959 SvREFCNT_inc_simple_void|5.009004||p
960 SvREFCNT_inc_simple|5.009004||p
961 SvREFCNT_inc_void_NN|5.009004||p
962 SvREFCNT_inc_void|5.009004||p
963 SvREFCNT_inc|||p
964 SvREFCNT|||
965 SvROK_off|||
966 SvROK_on|||
967 SvROK|||
968 SvRV_set|5.009003||p
969 SvRV|||
970 SvRXOK||5.009005|
971 SvRX||5.009005|
972 SvSETMAGIC|||
973 SvSHARED_HASH|5.009003||p
974 SvSHARE||5.007003|
975 SvSTASH_set|5.009003||p
976 SvSTASH|||
977 SvSetMagicSV_nosteal||5.004000|
978 SvSetMagicSV||5.004000|
979 SvSetSV_nosteal||5.004000|
980 SvSetSV|||
981 SvTAINTED_off||5.004000|
982 SvTAINTED_on||5.004000|
983 SvTAINTED||5.004000|
984 SvTAINT|||
985 SvTHINKFIRST|||
986 SvTRUE_nomg||5.013006|
987 SvTRUE|||
988 SvTYPE|||
989 SvUNLOCK||5.007003|
990 SvUOK|5.007001|5.006000|p
991 SvUPGRADE|||
992 SvUTF8_off||5.006000|
993 SvUTF8_on||5.006000|
994 SvUTF8||5.006000|
995 SvUVXx|5.004000||p
996 SvUVX|5.004000||p
997 SvUV_nomg|5.009001||p
998 SvUV_set|5.009003||p
999 SvUVx|5.004000||p
1000 SvUV|5.004000||p
1001 SvVOK||5.008001|
1002 SvVSTRING_mg|5.009004||p
1003 THIS|||n
1004 UNDERBAR|5.009002||p
1005 UTF8_MAXBYTES|5.009002||p
1006 UVSIZE|5.006000||p
1007 UVTYPE|5.006000||p
1008 UVXf|5.007001||p
1009 UVof|5.006000||p
1010 UVuf|5.006000||p
1011 UVxf|5.006000||p
1012 WARN_ALL|5.006000||p
1013 WARN_AMBIGUOUS|5.006000||p
1014 WARN_ASSERTIONS|5.021008||p
1015 WARN_BAREWORD|5.006000||p
1016 WARN_CLOSED|5.006000||p
1017 WARN_CLOSURE|5.006000||p
1018 WARN_DEBUGGING|5.006000||p
1019 WARN_DEPRECATED|5.006000||p
1020 WARN_DIGIT|5.006000||p
1021 WARN_EXEC|5.006000||p
1022 WARN_EXITING|5.006000||p
1023 WARN_GLOB|5.006000||p
1024 WARN_INPLACE|5.006000||p
1025 WARN_INTERNAL|5.006000||p
1026 WARN_IO|5.006000||p
1027 WARN_LAYER|5.008000||p
1028 WARN_MALLOC|5.006000||p
1029 WARN_MISC|5.006000||p
1030 WARN_NEWLINE|5.006000||p
1031 WARN_NUMERIC|5.006000||p
1032 WARN_ONCE|5.006000||p
1033 WARN_OVERFLOW|5.006000||p
1034 WARN_PACK|5.006000||p
1035 WARN_PARENTHESIS|5.006000||p
1036 WARN_PIPE|5.006000||p
1037 WARN_PORTABLE|5.006000||p
1038 WARN_PRECEDENCE|5.006000||p
1039 WARN_PRINTF|5.006000||p
1040 WARN_PROTOTYPE|5.006000||p
1041 WARN_QW|5.006000||p
1042 WARN_RECURSION|5.006000||p
1043 WARN_REDEFINE|5.006000||p
1044 WARN_REGEXP|5.006000||p
1045 WARN_RESERVED|5.006000||p
1046 WARN_SEMICOLON|5.006000||p
1047 WARN_SEVERE|5.006000||p
1048 WARN_SIGNAL|5.006000||p
1049 WARN_SUBSTR|5.006000||p
1050 WARN_SYNTAX|5.006000||p
1051 WARN_TAINT|5.006000||p
1052 WARN_THREADS|5.008000||p
1053 WARN_UNINITIALIZED|5.006000||p
1054 WARN_UNOPENED|5.006000||p
1055 WARN_UNPACK|5.006000||p
1056 WARN_UNTIE|5.006000||p
1057 WARN_UTF8|5.006000||p
1058 WARN_VOID|5.006000||p
1059 WIDEST_UTYPE|5.015004||p
1060 XCPT_CATCH|5.009002||p
1061 XCPT_RETHROW|5.009002||p
1062 XCPT_TRY_END|5.009002||p
1063 XCPT_TRY_START|5.009002||p
1064 XPUSHi|||
1065 XPUSHmortal|5.009002||p
1066 XPUSHn|||
1067 XPUSHp|||
1068 XPUSHs|||
1069 XPUSHu|5.004000||p
1070 XSPROTO|5.010000||p
1071 XSRETURN_EMPTY|||
1072 XSRETURN_IV|||
1073 XSRETURN_NO|||
1074 XSRETURN_NV|||
1075 XSRETURN_PV|||
1076 XSRETURN_UNDEF|||
1077 XSRETURN_UV|5.008001||p
1078 XSRETURN_YES|||
1079 XSRETURN|||p
1080 XST_mIV|||
1081 XST_mNO|||
1082 XST_mNV|||
1083 XST_mPV|||
1084 XST_mUNDEF|||
1085 XST_mUV|5.008001||p
1086 XST_mYES|||
1087 XS_APIVERSION_BOOTCHECK||5.021008|
1088 XS_EXTERNAL||5.021008|
1089 XS_INTERNAL||5.021008|
1090 XS_VERSION_BOOTCHECK||5.021008|
1091 XS_VERSION|||
1092 XSprePUSH|5.006000||p
1093 XS|||
1094 XopDISABLE||5.021008|
1095 XopENABLE||5.021008|
1096 XopENTRYCUSTOM||5.021008|
1097 XopENTRY_set||5.021008|
1098 XopENTRY||5.021008|
1099 XopFLAGS||5.013007|
1100 ZeroD|5.009002||p
1101 Zero|||
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
1152 aMY_CXT_|5.007003||p
1153 aMY_CXT|5.007003||p
1154 aTHXR_|5.021008||p
1155 aTHXR|5.021008||p
1156 aTHX_|5.006000||p
1157 aTHX|5.006000||p
1158 aassign_common_vars|||
1159 add_above_Latin1_folds|||
1160 add_cp_to_invlist|||
1161 add_data|||n
1162 add_multi_match|||
1163 add_utf16_textfilter|||
1164 adjust_size_and_find_bucket|||n
1165 advance_one_SB|||
1166 advance_one_WB|||
1167 alloc_maybe_populate_EXACT|||
1168 alloccopstash|||
1169 allocmy|||
1170 amagic_call|||
1171 amagic_cmp_locale|||
1172 amagic_cmp|||
1173 amagic_deref_call||5.013007|
1174 amagic_i_ncmp|||
1175 amagic_is_enabled|||
1176 amagic_ncmp|||
1177 anonymise_cv_maybe|||
1178 any_dup|||
1179 ao|||
1180 append_utf8_from_native_byte||5.019004|n
1181 apply_attrs_my|||
1182 apply_attrs_string||5.006001|
1183 apply_attrs|||
1184 apply|||
1185 assert_uft8_cache_coherent|||
1186 assignment_type|||
1187 atfork_lock||5.007003|n
1188 atfork_unlock||5.007003|n
1189 av_arylen_p||5.009003|
1190 av_clear|||
1191 av_create_and_push||5.009005|
1192 av_create_and_unshift_one||5.009005|
1193 av_delete||5.006000|
1194 av_exists||5.006000|
1195 av_extend_guts|||
1196 av_extend|||
1197 av_fetch|||
1198 av_fill|||
1199 av_iter_p||5.011000|
1200 av_len|||
1201 av_make|||
1202 av_pop|||
1203 av_push|||
1204 av_reify|||
1205 av_shift|||
1206 av_store|||
1207 av_tindex||5.017009|
1208 av_top_index||5.017009|
1209 av_undef|||
1210 av_unshift|||
1211 ax|||n
1212 backup_one_SB|||
1213 backup_one_WB|||
1214 bad_type_gv|||
1215 bad_type_pv|||
1216 bind_match|||
1217 block_end||5.004000|
1218 block_gimme||5.004000|
1219 block_start||5.004000|
1220 blockhook_register||5.013003|
1221 boolSV|5.004000||p
1222 boot_core_PerlIO|||
1223 boot_core_UNIVERSAL|||
1224 boot_core_mro|||
1225 bytes_cmp_utf8||5.013007|
1226 bytes_from_utf8||5.007001|
1227 bytes_to_utf8||5.006001|
1228 call_argv|5.006000||p
1229 call_atexit||5.006000|
1230 call_list||5.004000|
1231 call_method|5.006000||p
1232 call_pv|5.006000||p
1233 call_sv|5.006000||p
1234 caller_cx|5.013005|5.006000|p
1235 calloc||5.007002|n
1236 cando|||
1237 cast_i32||5.006000|n
1238 cast_iv||5.006000|n
1239 cast_ulong||5.006000|n
1240 cast_uv||5.006000|n
1241 check_locale_boundary_crossing|||
1242 check_type_and_open|||
1243 check_uni|||
1244 check_utf8_print|||
1245 checkcomma|||
1246 ckWARN|5.006000||p
1247 ck_entersub_args_core|||
1248 ck_entersub_args_list||5.013006|
1249 ck_entersub_args_proto_or_list||5.013006|
1250 ck_entersub_args_proto||5.013006|
1251 ck_warner_d||5.011001|v
1252 ck_warner||5.011001|v
1253 ckwarn_common|||
1254 ckwarn_d||5.009003|
1255 ckwarn||5.009003|
1256 clear_placeholders|||
1257 clear_special_blocks|||
1258 clone_params_del|||n
1259 clone_params_new|||n
1260 closest_cop|||
1261 cntrl_to_mnemonic|||n
1262 compute_EXACTish|||n
1263 construct_ahocorasick_from_trie|||
1264 cop_fetch_label||5.015001|
1265 cop_free|||
1266 cop_hints_2hv||5.013007|
1267 cop_hints_fetch_pvn||5.013007|
1268 cop_hints_fetch_pvs||5.013007|
1269 cop_hints_fetch_pv||5.013007|
1270 cop_hints_fetch_sv||5.013007|
1271 cop_store_label||5.015001|
1272 cophh_2hv||5.013007|
1273 cophh_copy||5.013007|
1274 cophh_delete_pvn||5.013007|
1275 cophh_delete_pvs||5.013007|
1276 cophh_delete_pv||5.013007|
1277 cophh_delete_sv||5.013007|
1278 cophh_fetch_pvn||5.013007|
1279 cophh_fetch_pvs||5.013007|
1280 cophh_fetch_pv||5.013007|
1281 cophh_fetch_sv||5.013007|
1282 cophh_free||5.013007|
1283 cophh_new_empty||5.021008|
1284 cophh_store_pvn||5.013007|
1285 cophh_store_pvs||5.013007|
1286 cophh_store_pv||5.013007|
1287 cophh_store_sv||5.013007|
1288 core_prototype|||
1289 coresub_op|||
1290 could_it_be_a_POSIX_class|||n
1291 cr_textfilter|||
1292 create_eval_scope|||
1293 croak_memory_wrap||5.019003|n
1294 croak_no_mem|||n
1295 croak_no_modify||5.013003|n
1296 croak_nocontext|||vn
1297 croak_popstack|||n
1298 croak_sv||5.013001|
1299 croak_xs_usage||5.010001|n
1300 croak|||v
1301 csighandler||5.009003|n
1302 current_re_engine|||
1303 curse|||
1304 custom_op_desc||5.007003|
1305 custom_op_get_field|||
1306 custom_op_name||5.007003|
1307 custom_op_register||5.013007|
1308 custom_op_xop||5.013007|
1309 cv_ckproto_len_flags|||
1310 cv_clone_into|||
1311 cv_clone|||
1312 cv_const_sv_or_av|||n
1313 cv_const_sv||5.003070|n
1314 cv_dump|||
1315 cv_forget_slab|||
1316 cv_get_call_checker||5.013006|
1317 cv_name||5.021005|
1318 cv_set_call_checker_flags||5.021004|
1319 cv_set_call_checker||5.013006|
1320 cv_undef_flags|||
1321 cv_undef|||
1322 cvgv_from_hek|||
1323 cvgv_set|||
1324 cvstash_set|||
1325 cx_dump||5.005000|
1326 cx_dup|||
1327 cxinc|||
1328 dAXMARK|5.009003||p
1329 dAX|5.007002||p
1330 dITEMS|5.007002||p
1331 dMARK|||
1332 dMULTICALL||5.009003|
1333 dMY_CXT_SV|5.007003||p
1334 dMY_CXT|5.007003||p
1335 dNOOP|5.006000||p
1336 dORIGMARK|||
1337 dSP|||
1338 dTHR|5.004050||p
1339 dTHXR|5.021008||p
1340 dTHXa|5.006000||p
1341 dTHXoa|5.006000||p
1342 dTHX|5.006000||p
1343 dUNDERBAR|5.009002||p
1344 dVAR|5.009003||p
1345 dXCPT|5.009002||p
1346 dXSARGS|||
1347 dXSI32|||
1348 dXSTARG|5.006000||p
1349 deb_curcv|||
1350 deb_nocontext|||vn
1351 deb_stack_all|||
1352 deb_stack_n|||
1353 debop||5.005000|
1354 debprofdump||5.005000|
1355 debprof|||
1356 debstackptrs||5.007003|
1357 debstack||5.007003|
1358 debug_start_match|||
1359 deb||5.007003|v
1360 defelem_target|||
1361 del_sv|||
1362 delete_eval_scope|||
1363 delimcpy||5.004000|n
1364 deprecate_commaless_var_list|||
1365 despatch_signals||5.007001|
1366 destroy_matcher|||
1367 die_nocontext|||vn
1368 die_sv||5.013001|
1369 die_unwind|||
1370 die|||v
1371 dirp_dup|||
1372 div128|||
1373 djSP|||
1374 do_aexec5|||
1375 do_aexec|||
1376 do_aspawn|||
1377 do_binmode||5.004050|
1378 do_chomp|||
1379 do_close|||
1380 do_delete_local|||
1381 do_dump_pad|||
1382 do_eof|||
1383 do_exec3|||
1384 do_execfree|||
1385 do_exec|||
1386 do_gv_dump||5.006000|
1387 do_gvgv_dump||5.006000|
1388 do_hv_dump||5.006000|
1389 do_ipcctl|||
1390 do_ipcget|||
1391 do_join|||
1392 do_magic_dump||5.006000|
1393 do_msgrcv|||
1394 do_msgsnd|||
1395 do_ncmp|||
1396 do_oddball|||
1397 do_op_dump||5.006000|
1398 do_open6|||
1399 do_open9||5.006000|
1400 do_open_raw|||
1401 do_openn||5.007001|
1402 do_open||5.003070|
1403 do_pmop_dump||5.006000|
1404 do_print|||
1405 do_readline|||
1406 do_seek|||
1407 do_semop|||
1408 do_shmio|||
1409 do_smartmatch|||
1410 do_spawn_nowait|||
1411 do_spawn|||
1412 do_sprintf|||
1413 do_sv_dump||5.006000|
1414 do_sysseek|||
1415 do_tell|||
1416 do_trans_complex_utf8|||
1417 do_trans_complex|||
1418 do_trans_count_utf8|||
1419 do_trans_count|||
1420 do_trans_simple_utf8|||
1421 do_trans_simple|||
1422 do_trans|||
1423 do_vecget|||
1424 do_vecset|||
1425 do_vop|||
1426 docatch|||
1427 doeval|||
1428 dofile|||
1429 dofindlabel|||
1430 doform|||
1431 doing_taint||5.008001|n
1432 dooneliner|||
1433 doopen_pm|||
1434 doparseform|||
1435 dopoptoeval|||
1436 dopoptogiven|||
1437 dopoptolabel|||
1438 dopoptoloop|||
1439 dopoptosub_at|||
1440 dopoptowhen|||
1441 doref||5.009003|
1442 dounwind|||
1443 dowantarray|||
1444 drand48_init_r|||n
1445 drand48_r|||n
1446 dump_all_perl|||
1447 dump_all||5.006000|
1448 dump_c_backtrace|||
1449 dump_eval||5.006000|
1450 dump_exec_pos|||
1451 dump_form||5.006000|
1452 dump_indent||5.006000|v
1453 dump_mstats|||
1454 dump_packsubs_perl|||
1455 dump_packsubs||5.006000|
1456 dump_sub_perl|||
1457 dump_sub||5.006000|
1458 dump_sv_child|||
1459 dump_trie_interim_list|||
1460 dump_trie_interim_table|||
1461 dump_trie|||
1462 dump_vindent||5.006000|
1463 dumpuntil|||
1464 dup_attrlist|||
1465 emulate_cop_io|||
1466 eval_pv|5.006000||p
1467 eval_sv|5.006000||p
1468 exec_failed|||
1469 expect_number|||
1470 fbm_compile||5.005000|
1471 fbm_instr||5.005000|
1472 feature_is_enabled|||
1473 filter_add|||
1474 filter_del|||
1475 filter_gets|||
1476 filter_read|||
1477 finalize_optree|||
1478 finalize_op|||
1479 find_and_forget_pmops|||
1480 find_array_subscript|||
1481 find_beginning|||
1482 find_byclass|||
1483 find_default_stash|||
1484 find_hash_subscript|||
1485 find_in_my_stash|||
1486 find_lexical_cv|||
1487 find_runcv_where|||
1488 find_runcv||5.008001|
1489 find_rundefsv2|||
1490 find_rundefsvoffset||5.009002|
1491 find_rundefsv||5.013002|
1492 find_script|||
1493 find_uninit_var|||
1494 first_symbol|||n
1495 fixup_errno_string|||
1496 foldEQ_latin1||5.013008|n
1497 foldEQ_locale||5.013002|n
1498 foldEQ_utf8_flags||5.013010|
1499 foldEQ_utf8||5.013002|
1500 foldEQ||5.013002|n
1501 fold_constants|||
1502 forbid_setid|||
1503 force_ident_maybe_lex|||
1504 force_ident|||
1505 force_list|||
1506 force_next|||
1507 force_strict_version|||
1508 force_version|||
1509 force_word|||
1510 forget_pmop|||
1511 form_nocontext|||vn
1512 form_short_octal_warning|||
1513 form||5.004000|v
1514 fp_dup|||
1515 fprintf_nocontext|||vn
1516 free_c_backtrace|||
1517 free_global_struct|||
1518 free_tied_hv_pool|||
1519 free_tmps|||
1520 gen_constant_list|||
1521 get_ANYOF_cp_list_for_ssc|||
1522 get_and_check_backslash_N_name|||
1523 get_aux_mg|||
1524 get_av|5.006000||p
1525 get_c_backtrace_dump|||
1526 get_c_backtrace|||
1527 get_context||5.006000|n
1528 get_cvn_flags|5.009005||p
1529 get_cvs|5.011000||p
1530 get_cv|5.006000||p
1531 get_db_sub|||
1532 get_debug_opts|||
1533 get_hash_seed|||
1534 get_hv|5.006000||p
1535 get_invlist_iter_addr|||n
1536 get_invlist_offset_addr|||n
1537 get_invlist_previous_index_addr|||n
1538 get_mstats|||
1539 get_no_modify|||
1540 get_num|||
1541 get_op_descs||5.005000|
1542 get_op_names||5.005000|
1543 get_opargs|||
1544 get_ppaddr||5.006000|
1545 get_re_arg|||
1546 get_sv|5.006000||p
1547 get_vtbl||5.005030|
1548 getcwd_sv||5.007002|
1549 getenv_len|||
1550 glob_2number|||
1551 glob_assign_glob|||
1552 gp_dup|||
1553 gp_free|||
1554 gp_ref|||
1555 grok_atoUV|||n
1556 grok_bin|5.007003||p
1557 grok_bslash_N|||
1558 grok_bslash_c|||
1559 grok_bslash_o|||
1560 grok_bslash_x|||
1561 grok_hex|5.007003||p
1562 grok_infnan||5.021004|
1563 grok_number_flags||5.021002|
1564 grok_number|5.007002||p
1565 grok_numeric_radix|5.007002||p
1566 grok_oct|5.007003||p
1567 group_end|||
1568 gv_AVadd|||
1569 gv_HVadd|||
1570 gv_IOadd|||
1571 gv_SVadd|||
1572 gv_add_by_type||5.011000|
1573 gv_autoload4||5.004000|
1574 gv_autoload_pvn||5.015004|
1575 gv_autoload_pv||5.015004|
1576 gv_autoload_sv||5.015004|
1577 gv_check|||
1578 gv_const_sv||5.009003|
1579 gv_dump||5.006000|
1580 gv_efullname3||5.003070|
1581 gv_efullname4||5.006001|
1582 gv_efullname|||
1583 gv_fetchfile_flags||5.009005|
1584 gv_fetchfile|||
1585 gv_fetchmeth_autoload||5.007003|
1586 gv_fetchmeth_internal|||
1587 gv_fetchmeth_pv_autoload||5.015004|
1588 gv_fetchmeth_pvn_autoload||5.015004|
1589 gv_fetchmeth_pvn||5.015004|
1590 gv_fetchmeth_pv||5.015004|
1591 gv_fetchmeth_sv_autoload||5.015004|
1592 gv_fetchmeth_sv||5.015004|
1593 gv_fetchmethod_autoload||5.004000|
1594 gv_fetchmethod_pv_flags||5.015004|
1595 gv_fetchmethod_pvn_flags||5.015004|
1596 gv_fetchmethod_sv_flags||5.015004|
1597 gv_fetchmethod|||
1598 gv_fetchmeth|||
1599 gv_fetchpvn_flags|5.009002||p
1600 gv_fetchpvs|5.009004||p
1601 gv_fetchpv|||
1602 gv_fetchsv|5.009002||p
1603 gv_fullname3||5.003070|
1604 gv_fullname4||5.006001|
1605 gv_fullname|||
1606 gv_handler||5.007001|
1607 gv_init_pvn||5.015004|
1608 gv_init_pv||5.015004|
1609 gv_init_svtype|||
1610 gv_init_sv||5.015004|
1611 gv_init|||
1612 gv_is_in_main|||
1613 gv_magicalize_isa|||
1614 gv_magicalize|||
1615 gv_name_set||5.009004|
1616 gv_override|||
1617 gv_setref|||
1618 gv_stashpvn_internal|||
1619 gv_stashpvn|5.003070||p
1620 gv_stashpvs|5.009003||p
1621 gv_stashpv|||
1622 gv_stashsvpvn_cached|||
1623 gv_stashsv|||
1624 gv_try_downgrade|||
1625 handle_regex_sets|||
1626 he_dup|||
1627 hek_dup|||
1628 hfree_next_entry|||
1629 hfreeentries|||
1630 hsplit|||
1631 hv_assert|||
1632 hv_auxinit_internal|||n
1633 hv_auxinit|||
1634 hv_backreferences_p|||
1635 hv_clear_placeholders||5.009001|
1636 hv_clear|||
1637 hv_common_key_len||5.010000|
1638 hv_common||5.010000|
1639 hv_copy_hints_hv||5.009004|
1640 hv_delayfree_ent||5.004000|
1641 hv_delete_common|||
1642 hv_delete_ent||5.003070|
1643 hv_delete|||
1644 hv_eiter_p||5.009003|
1645 hv_eiter_set||5.009003|
1646 hv_ename_add|||
1647 hv_ename_delete|||
1648 hv_exists_ent||5.003070|
1649 hv_exists|||
1650 hv_fetch_ent||5.003070|
1651 hv_fetchs|5.009003||p
1652 hv_fetch|||
1653 hv_fill||5.013002|
1654 hv_free_ent_ret|||
1655 hv_free_ent||5.004000|
1656 hv_iterinit|||
1657 hv_iterkeysv||5.003070|
1658 hv_iterkey|||
1659 hv_iternext_flags||5.008000|
1660 hv_iternextsv|||
1661 hv_iternext|||
1662 hv_iterval|||
1663 hv_kill_backrefs|||
1664 hv_ksplit||5.003070|
1665 hv_magic_check|||n
1666 hv_magic|||
1667 hv_name_set||5.009003|
1668 hv_notallowed|||
1669 hv_placeholders_get||5.009003|
1670 hv_placeholders_p|||
1671 hv_placeholders_set||5.009003|
1672 hv_rand_set||5.018000|
1673 hv_riter_p||5.009003|
1674 hv_riter_set||5.009003|
1675 hv_scalar||5.009001|
1676 hv_store_ent||5.003070|
1677 hv_store_flags||5.008000|
1678 hv_stores|5.009004||p
1679 hv_store|||
1680 hv_undef_flags|||
1681 hv_undef|||
1682 ibcmp_locale||5.004000|
1683 ibcmp_utf8||5.007003|
1684 ibcmp|||
1685 incline|||
1686 incpush_if_exists|||
1687 incpush_use_sep|||
1688 incpush|||
1689 ingroup|||
1690 init_argv_symbols|||
1691 init_constants|||
1692 init_dbargs|||
1693 init_debugger|||
1694 init_global_struct|||
1695 init_i18nl10n||5.006000|
1696 init_i18nl14n||5.006000|
1697 init_ids|||
1698 init_interp|||
1699 init_main_stash|||
1700 init_perllib|||
1701 init_postdump_symbols|||
1702 init_predump_symbols|||
1703 init_stacks||5.005000|
1704 init_tm||5.007002|
1705 inplace_aassign|||
1706 instr|||n
1707 intro_my||5.004000|
1708 intuit_method|||
1709 intuit_more|||
1710 invert|||
1711 invlist_array|||n
1712 invlist_clone|||
1713 invlist_extend|||
1714 invlist_highest|||n
1715 invlist_is_iterating|||n
1716 invlist_iterfinish|||n
1717 invlist_iterinit|||n
1718 invlist_iternext|||n
1719 invlist_max|||n
1720 invlist_previous_index|||n
1721 invlist_set_len|||
1722 invlist_set_previous_index|||n
1723 invlist_trim|||n
1724 invoke_exception_hook|||
1725 io_close|||
1726 isALNUMC|5.006000||p
1727 isALNUM_lazy||5.021001|
1728 isALPHANUMERIC||5.017008|
1729 isALPHA|||
1730 isASCII|5.006000||p
1731 isBLANK|5.006001||p
1732 isCNTRL|5.006000||p
1733 isDIGIT|||
1734 isFOO_lc|||
1735 isFOO_utf8_lc|||
1736 isGCB|||n
1737 isGRAPH|5.006000||p
1738 isGV_with_GP|5.009004||p
1739 isIDCONT||5.017008|
1740 isIDFIRST_lazy||5.021001|
1741 isIDFIRST|||
1742 isLOWER|||
1743 isOCTAL||5.013005|
1744 isPRINT|5.004000||p
1745 isPSXSPC|5.006001||p
1746 isPUNCT|5.006000||p
1747 isSB|||
1748 isSPACE|||
1749 isUPPER|||
1750 isUTF8_CHAR||5.021001|
1751 isWB|||
1752 isWORDCHAR||5.013006|
1753 isXDIGIT|5.006000||p
1754 is_an_int|||
1755 is_ascii_string||5.011000|
1756 is_handle_constructor|||n
1757 is_invariant_string||5.021007|n
1758 is_lvalue_sub||5.007001|
1759 is_safe_syscall||5.019004|
1760 is_ssc_worth_it|||n
1761 is_uni_alnum_lc||5.006000|
1762 is_uni_alnumc_lc||5.017007|
1763 is_uni_alnumc||5.017007|
1764 is_uni_alnum||5.006000|
1765 is_uni_alpha_lc||5.006000|
1766 is_uni_alpha||5.006000|
1767 is_uni_ascii_lc||5.006000|
1768 is_uni_ascii||5.006000|
1769 is_uni_blank_lc||5.017002|
1770 is_uni_blank||5.017002|
1771 is_uni_cntrl_lc||5.006000|
1772 is_uni_cntrl||5.006000|
1773 is_uni_digit_lc||5.006000|
1774 is_uni_digit||5.006000|
1775 is_uni_graph_lc||5.006000|
1776 is_uni_graph||5.006000|
1777 is_uni_idfirst_lc||5.006000|
1778 is_uni_idfirst||5.006000|
1779 is_uni_lower_lc||5.006000|
1780 is_uni_lower||5.006000|
1781 is_uni_print_lc||5.006000|
1782 is_uni_print||5.006000|
1783 is_uni_punct_lc||5.006000|
1784 is_uni_punct||5.006000|
1785 is_uni_space_lc||5.006000|
1786 is_uni_space||5.006000|
1787 is_uni_upper_lc||5.006000|
1788 is_uni_upper||5.006000|
1789 is_uni_xdigit_lc||5.006000|
1790 is_uni_xdigit||5.006000|
1791 is_utf8_alnumc||5.017007|
1792 is_utf8_alnum||5.006000|
1793 is_utf8_alpha||5.006000|
1794 is_utf8_ascii||5.006000|
1795 is_utf8_blank||5.017002|
1796 is_utf8_char_buf||5.015008|n
1797 is_utf8_char||5.006000|n
1798 is_utf8_cntrl||5.006000|
1799 is_utf8_common|||
1800 is_utf8_digit||5.006000|
1801 is_utf8_graph||5.006000|
1802 is_utf8_idcont||5.008000|
1803 is_utf8_idfirst||5.006000|
1804 is_utf8_lower||5.006000|
1805 is_utf8_mark||5.006000|
1806 is_utf8_perl_space||5.011001|
1807 is_utf8_perl_word||5.011001|
1808 is_utf8_posix_digit||5.011001|
1809 is_utf8_print||5.006000|
1810 is_utf8_punct||5.006000|
1811 is_utf8_space||5.006000|
1812 is_utf8_string_loclen||5.009003|n
1813 is_utf8_string_loc||5.008001|n
1814 is_utf8_string||5.006001|n
1815 is_utf8_upper||5.006000|
1816 is_utf8_xdigit||5.006000|
1817 is_utf8_xidcont||5.013010|
1818 is_utf8_xidfirst||5.013010|
1819 isa_lookup|||
1820 isinfnansv|||
1821 isinfnan||5.021004|n
1822 items|||n
1823 ix|||n
1824 jmaybe|||
1825 join_exact|||
1826 keyword_plugin_standard|||
1827 keyword|||
1828 leave_common|||
1829 leave_scope|||
1830 lex_bufutf8||5.011002|
1831 lex_discard_to||5.011002|
1832 lex_grow_linestr||5.011002|
1833 lex_next_chunk||5.011002|
1834 lex_peek_unichar||5.011002|
1835 lex_read_space||5.011002|
1836 lex_read_to||5.011002|
1837 lex_read_unichar||5.011002|
1838 lex_start||5.009005|
1839 lex_stuff_pvn||5.011002|
1840 lex_stuff_pvs||5.013005|
1841 lex_stuff_pv||5.013006|
1842 lex_stuff_sv||5.011002|
1843 lex_unstuff||5.011002|
1844 listkids|||
1845 list|||
1846 load_module_nocontext|||vn
1847 load_module|5.006000||pv
1848 localize|||
1849 looks_like_bool|||
1850 looks_like_number|||
1851 lop|||
1852 mPUSHi|5.009002||p
1853 mPUSHn|5.009002||p
1854 mPUSHp|5.009002||p
1855 mPUSHs|5.010001||p
1856 mPUSHu|5.009002||p
1857 mXPUSHi|5.009002||p
1858 mXPUSHn|5.009002||p
1859 mXPUSHp|5.009002||p
1860 mXPUSHs|5.010001||p
1861 mXPUSHu|5.009002||p
1862 magic_clear_all_env|||
1863 magic_cleararylen_p|||
1864 magic_clearenv|||
1865 magic_clearhints|||
1866 magic_clearhint|||
1867 magic_clearisa|||
1868 magic_clearpack|||
1869 magic_clearsig|||
1870 magic_copycallchecker|||
1871 magic_dump||5.006000|
1872 magic_existspack|||
1873 magic_freearylen_p|||
1874 magic_freeovrld|||
1875 magic_getarylen|||
1876 magic_getdebugvar|||
1877 magic_getdefelem|||
1878 magic_getnkeys|||
1879 magic_getpack|||
1880 magic_getpos|||
1881 magic_getsig|||
1882 magic_getsubstr|||
1883 magic_gettaint|||
1884 magic_getuvar|||
1885 magic_getvec|||
1886 magic_get|||
1887 magic_killbackrefs|||
1888 magic_methcall1|||
1889 magic_methcall|||v
1890 magic_methpack|||
1891 magic_nextpack|||
1892 magic_regdata_cnt|||
1893 magic_regdatum_get|||
1894 magic_regdatum_set|||
1895 magic_scalarpack|||
1896 magic_set_all_env|||
1897 magic_setarylen|||
1898 magic_setcollxfrm|||
1899 magic_setdbline|||
1900 magic_setdebugvar|||
1901 magic_setdefelem|||
1902 magic_setenv|||
1903 magic_sethint|||
1904 magic_setisa|||
1905 magic_setlvref|||
1906 magic_setmglob|||
1907 magic_setnkeys|||
1908 magic_setpack|||
1909 magic_setpos|||
1910 magic_setregexp|||
1911 magic_setsig|||
1912 magic_setsubstr|||
1913 magic_settaint|||
1914 magic_setutf8|||
1915 magic_setuvar|||
1916 magic_setvec|||
1917 magic_set|||
1918 magic_sizepack|||
1919 magic_wipepack|||
1920 make_matcher|||
1921 make_trie|||
1922 malloc_good_size|||n
1923 malloced_size|||n
1924 malloc||5.007002|n
1925 markstack_grow||5.021001|
1926 matcher_matches_sv|||
1927 maybe_multimagic_gv|||
1928 mayberelocate|||
1929 measure_struct|||
1930 memEQs|5.009005||p
1931 memEQ|5.004000||p
1932 memNEs|5.009005||p
1933 memNE|5.004000||p
1934 mem_collxfrm|||
1935 mem_log_common|||n
1936 mess_alloc|||
1937 mess_nocontext|||vn
1938 mess_sv||5.013001|
1939 mess||5.006000|v
1940 mfree||5.007002|n
1941 mg_clear|||
1942 mg_copy|||
1943 mg_dup|||
1944 mg_find_mglob|||
1945 mg_findext|5.013008||pn
1946 mg_find|||n
1947 mg_free_type||5.013006|
1948 mg_free|||
1949 mg_get|||
1950 mg_length||5.005000|
1951 mg_localize|||
1952 mg_magical|||n
1953 mg_set|||
1954 mg_size||5.005000|
1955 mini_mktime||5.007002|n
1956 minus_v|||
1957 missingterm|||
1958 mode_from_discipline|||
1959 modkids|||
1960 more_bodies|||
1961 more_sv|||
1962 moreswitches|||
1963 move_proto_attr|||
1964 mro_clean_isarev|||
1965 mro_gather_and_rename|||
1966 mro_get_from_name||5.010001|
1967 mro_get_linear_isa_dfs|||
1968 mro_get_linear_isa||5.009005|
1969 mro_get_private_data||5.010001|
1970 mro_isa_changed_in|||
1971 mro_meta_dup|||
1972 mro_meta_init|||
1973 mro_method_changed_in||5.009005|
1974 mro_package_moved|||
1975 mro_register||5.010001|
1976 mro_set_mro||5.010001|
1977 mro_set_private_data||5.010001|
1978 mul128|||
1979 mulexp10|||n
1980 multideref_stringify|||
1981 my_atof2||5.007002|
1982 my_atof||5.006000|
1983 my_attrs|||
1984 my_bcopy|||n
1985 my_bytes_to_utf8|||n
1986 my_bzero|||n
1987 my_chsize|||
1988 my_clearenv|||
1989 my_cxt_index|||
1990 my_cxt_init|||
1991 my_dirfd||5.009005|n
1992 my_exit_jump|||
1993 my_exit|||
1994 my_failure_exit||5.004000|
1995 my_fflush_all||5.006000|
1996 my_fork||5.007003|n
1997 my_kid|||
1998 my_lstat_flags|||
1999 my_lstat||5.021008|
2000 my_memcmp|||n
2001 my_memset|||n
2002 my_pclose||5.003070|
2003 my_popen_list||5.007001|
2004 my_popen||5.003070|
2005 my_setenv|||
2006 my_setlocale|||
2007 my_snprintf|5.009004||pvn
2008 my_socketpair||5.007003|n
2009 my_sprintf|5.009003||pvn
2010 my_stat_flags|||
2011 my_stat||5.021008|
2012 my_strerror||5.021001|
2013 my_strftime||5.007002|
2014 my_strlcat|5.009004||pn
2015 my_strlcpy|5.009004||pn
2016 my_unexec|||
2017 my_vsnprintf||5.009004|n
2018 need_utf8|||n
2019 newANONATTRSUB||5.006000|
2020 newANONHASH|||
2021 newANONLIST|||
2022 newANONSUB|||
2023 newASSIGNOP|||
2024 newATTRSUB_x|||
2025 newATTRSUB||5.006000|
2026 newAVREF|||
2027 newAV|||
2028 newBINOP|||
2029 newCONDOP|||
2030 newCONSTSUB_flags||5.015006|
2031 newCONSTSUB|5.004050||p
2032 newCVREF|||
2033 newDEFSVOP||5.021006|
2034 newFORM|||
2035 newFOROP||5.013007|
2036 newGIVENOP||5.009003|
2037 newGIVWHENOP|||
2038 newGP|||
2039 newGVOP|||
2040 newGVREF|||
2041 newGVgen_flags||5.015004|
2042 newGVgen|||
2043 newHVREF|||
2044 newHVhv||5.005000|
2045 newHV|||
2046 newIO|||
2047 newLISTOP|||
2048 newLOGOP|||
2049 newLOOPEX|||
2050 newLOOPOP|||
2051 newMETHOP_internal|||
2052 newMETHOP_named||5.021005|
2053 newMETHOP||5.021005|
2054 newMYSUB||5.017004|
2055 newNULLLIST|||
2056 newOP|||
2057 newPADNAMELIST||5.021007|n
2058 newPADNAMEouter||5.021007|n
2059 newPADNAMEpvn||5.021007|n
2060 newPADOP|||
2061 newPMOP|||
2062 newPROG|||
2063 newPVOP|||
2064 newRANGE|||
2065 newRV_inc|5.004000||p
2066 newRV_noinc|5.004000||p
2067 newRV|||
2068 newSLICEOP|||
2069 newSTATEOP|||
2070 newSTUB|||
2071 newSUB|||
2072 newSVOP|||
2073 newSVREF|||
2074 newSV_type|5.009005||p
2075 newSVavdefelem|||
2076 newSVhek||5.009003|
2077 newSViv|||
2078 newSVnv|||
2079 newSVpadname||5.017004|
2080 newSVpv_share||5.013006|
2081 newSVpvf_nocontext|||vn
2082 newSVpvf||5.004000|v
2083 newSVpvn_flags|5.010001||p
2084 newSVpvn_share|5.007001||p
2085 newSVpvn_utf8|5.010001||p
2086 newSVpvn|5.004050||p
2087 newSVpvs_flags|5.010001||p
2088 newSVpvs_share|5.009003||p
2089 newSVpvs|5.009003||p
2090 newSVpv|||
2091 newSVrv|||
2092 newSVsv|||
2093 newSVuv|5.006000||p
2094 newSV|||
2095 newUNOP_AUX||5.021007|
2096 newUNOP|||
2097 newWHENOP||5.009003|
2098 newWHILEOP||5.013007|
2099 newXS_deffile|||
2100 newXS_flags||5.009004|
2101 newXS_len_flags|||
2102 newXSproto||5.006000|
2103 newXS||5.006000|
2104 new_collate||5.006000|
2105 new_constant|||
2106 new_ctype||5.006000|
2107 new_he|||
2108 new_logop|||
2109 new_numeric||5.006000|
2110 new_stackinfo||5.005000|
2111 new_version||5.009000|
2112 new_warnings_bitfield|||
2113 next_symbol|||
2114 nextargv|||
2115 nextchar|||
2116 ninstr|||n
2117 no_bareword_allowed|||
2118 no_fh_allowed|||
2119 no_op|||
2120 noperl_die|||vn
2121 not_a_number|||
2122 not_incrementable|||
2123 nothreadhook||5.008000|
2124 nuke_stacks|||
2125 num_overflow|||n
2126 oopsAV|||
2127 oopsHV|||
2128 op_append_elem||5.013006|
2129 op_append_list||5.013006|
2130 op_clear|||
2131 op_contextualize||5.013006|
2132 op_convert_list||5.021006|
2133 op_dump||5.006000|
2134 op_free|||
2135 op_integerize|||
2136 op_linklist||5.013006|
2137 op_lvalue_flags|||
2138 op_lvalue||5.013007|
2139 op_null||5.007002|
2140 op_parent||5.021002|n
2141 op_prepend_elem||5.013006|
2142 op_refcnt_dec|||
2143 op_refcnt_inc|||
2144 op_refcnt_lock||5.009002|
2145 op_refcnt_unlock||5.009002|
2146 op_relocate_sv|||
2147 op_scope||5.013007|
2148 op_sibling_splice||5.021002|n
2149 op_std_init|||
2150 op_unscope|||
2151 open_script|||
2152 openn_cleanup|||
2153 openn_setup|||
2154 opmethod_stash|||
2155 opslab_force_free|||
2156 opslab_free_nopad|||
2157 opslab_free|||
2158 pMY_CXT_|5.007003||p
2159 pMY_CXT|5.007003||p
2160 pTHX_|5.006000||p
2161 pTHX|5.006000||p
2162 packWARN|5.007003||p
2163 pack_cat||5.007003|
2164 pack_rec|||
2165 package_version|||
2166 package|||
2167 packlist||5.008001|
2168 pad_add_anon||5.008001|
2169 pad_add_name_pvn||5.015001|
2170 pad_add_name_pvs||5.015001|
2171 pad_add_name_pv||5.015001|
2172 pad_add_name_sv||5.015001|
2173 pad_add_weakref|||
2174 pad_alloc_name|||
2175 pad_alloc|||
2176 pad_block_start|||
2177 pad_check_dup|||
2178 pad_compname_type||5.009003|
2179 pad_findlex|||
2180 pad_findmy_pvn||5.015001|
2181 pad_findmy_pvs||5.015001|
2182 pad_findmy_pv||5.015001|
2183 pad_findmy_sv||5.015001|
2184 pad_fixup_inner_anons|||
2185 pad_free|||
2186 pad_leavemy|||
2187 pad_new||5.008001|
2188 pad_push|||
2189 pad_reset|||
2190 pad_setsv|||
2191 pad_sv|||
2192 pad_swipe|||
2193 pad_tidy||5.008001|
2194 padlist_dup|||
2195 padlist_store|||
2196 padname_dup|||
2197 padname_free|||
2198 padnamelist_dup|||
2199 padnamelist_fetch||5.021007|n
2200 padnamelist_free|||
2201 padnamelist_store||5.021007|
2202 parse_arithexpr||5.013008|
2203 parse_barestmt||5.013007|
2204 parse_block||5.013007|
2205 parse_body|||
2206 parse_fullexpr||5.013008|
2207 parse_fullstmt||5.013005|
2208 parse_gv_stash_name|||
2209 parse_ident|||
2210 parse_label||5.013007|
2211 parse_listexpr||5.013008|
2212 parse_lparen_question_flags|||
2213 parse_stmtseq||5.013006|
2214 parse_subsignature|||
2215 parse_termexpr||5.013008|
2216 parse_unicode_opts|||
2217 parser_dup|||
2218 parser_free_nexttoke_ops|||
2219 parser_free|||
2220 path_is_searchable|||n
2221 peep|||
2222 pending_ident|||
2223 perl_alloc_using|||n
2224 perl_alloc|||n
2225 perl_clone_using|||n
2226 perl_clone|||n
2227 perl_construct|||n
2228 perl_destruct||5.007003|n
2229 perl_free|||n
2230 perl_parse||5.006000|n
2231 perl_run|||n
2232 pidgone|||
2233 pm_description|||
2234 pmop_dump||5.006000|
2235 pmruntime|||
2236 pmtrans|||
2237 pop_scope|||
2238 populate_ANYOF_from_invlist|||
2239 populate_isa|||v
2240 pregcomp||5.009005|
2241 pregexec|||
2242 pregfree2||5.011000|
2243 pregfree|||
2244 prescan_version||5.011004|
2245 printbuf|||
2246 printf_nocontext|||vn
2247 process_special_blocks|||
2248 ptr_hash|||n
2249 ptr_table_clear||5.009005|
2250 ptr_table_fetch||5.009005|
2251 ptr_table_find|||n
2252 ptr_table_free||5.009005|
2253 ptr_table_new||5.009005|
2254 ptr_table_split||5.009005|
2255 ptr_table_store||5.009005|
2256 push_scope|||
2257 put_charclass_bitmap_innards|||
2258 put_code_point|||
2259 put_range|||
2260 pv_display|5.006000||p
2261 pv_escape|5.009004||p
2262 pv_pretty|5.009004||p
2263 pv_uni_display||5.007003|
2264 qerror|||
2265 qsortsvu|||
2266 quadmath_format_needed|||n
2267 quadmath_format_single|||n
2268 re_compile||5.009005|
2269 re_croak2|||
2270 re_dup_guts|||
2271 re_intuit_start||5.019001|
2272 re_intuit_string||5.006000|
2273 re_op_compile|||
2274 realloc||5.007002|n
2275 reentrant_free||5.021008|
2276 reentrant_init||5.021008|
2277 reentrant_retry||5.021008|vn
2278 reentrant_size||5.021008|
2279 ref_array_or_hash|||
2280 refcounted_he_chain_2hv|||
2281 refcounted_he_fetch_pvn|||
2282 refcounted_he_fetch_pvs|||
2283 refcounted_he_fetch_pv|||
2284 refcounted_he_fetch_sv|||
2285 refcounted_he_free|||
2286 refcounted_he_inc|||
2287 refcounted_he_new_pvn|||
2288 refcounted_he_new_pvs|||
2289 refcounted_he_new_pv|||
2290 refcounted_he_new_sv|||
2291 refcounted_he_value|||
2292 refkids|||
2293 refto|||
2294 ref||5.021008|
2295 reg2Lanode|||
2296 reg_check_named_buff_matched|||n
2297 reg_named_buff_all||5.009005|
2298 reg_named_buff_exists||5.009005|
2299 reg_named_buff_fetch||5.009005|
2300 reg_named_buff_firstkey||5.009005|
2301 reg_named_buff_iter|||
2302 reg_named_buff_nextkey||5.009005|
2303 reg_named_buff_scalar||5.009005|
2304 reg_named_buff|||
2305 reg_node|||
2306 reg_numbered_buff_fetch|||
2307 reg_numbered_buff_length|||
2308 reg_numbered_buff_store|||
2309 reg_qr_package|||
2310 reg_recode|||
2311 reg_scan_name|||
2312 reg_skipcomment|||n
2313 reg_temp_copy|||
2314 reganode|||
2315 regatom|||
2316 regbranch|||
2317 regclass_swash||5.009004|
2318 regclass|||
2319 regcppop|||
2320 regcppush|||
2321 regcurly|||n
2322 regdump_extflags|||
2323 regdump_intflags|||
2324 regdump||5.005000|
2325 regdupe_internal|||
2326 regexec_flags||5.005000|
2327 regfree_internal||5.009005|
2328 reghop3|||n
2329 reghop4|||n
2330 reghopmaybe3|||n
2331 reginclass|||
2332 reginitcolors||5.006000|
2333 reginsert|||
2334 regmatch|||
2335 regnext||5.005000|
2336 regnode_guts|||
2337 regpatws|||n
2338 regpiece|||
2339 regpposixcc|||
2340 regprop|||
2341 regrepeat|||
2342 regtail_study|||
2343 regtail|||
2344 regtry|||
2345 reg|||
2346 repeatcpy|||n
2347 report_evil_fh|||
2348 report_redefined_cv|||
2349 report_uninit|||
2350 report_wrongway_fh|||
2351 require_pv||5.006000|
2352 require_tie_mod|||
2353 restore_magic|||
2354 rninstr|||n
2355 rpeep|||
2356 rsignal_restore|||
2357 rsignal_save|||
2358 rsignal_state||5.004000|
2359 rsignal||5.004000|
2360 run_body|||
2361 run_user_filter|||
2362 runops_debug||5.005000|
2363 runops_standard||5.005000|
2364 rv2cv_op_cv||5.013006|
2365 rvpv_dup|||
2366 rxres_free|||
2367 rxres_restore|||
2368 rxres_save|||
2369 safesyscalloc||5.006000|n
2370 safesysfree||5.006000|n
2371 safesysmalloc||5.006000|n
2372 safesysrealloc||5.006000|n
2373 same_dirent|||
2374 save_I16||5.004000|
2375 save_I32|||
2376 save_I8||5.006000|
2377 save_adelete||5.011000|
2378 save_aelem_flags||5.011000|
2379 save_aelem||5.004050|
2380 save_aliased_sv|||
2381 save_alloc||5.006000|
2382 save_aptr|||
2383 save_ary|||
2384 save_bool||5.008001|
2385 save_clearsv|||
2386 save_delete|||
2387 save_destructor_x||5.006000|
2388 save_destructor||5.006000|
2389 save_freeop|||
2390 save_freepv|||
2391 save_freesv|||
2392 save_generic_pvref||5.006001|
2393 save_generic_svref||5.005030|
2394 save_gp||5.004000|
2395 save_hash|||
2396 save_hdelete||5.011000|
2397 save_hek_flags|||n
2398 save_helem_flags||5.011000|
2399 save_helem||5.004050|
2400 save_hints||5.010001|
2401 save_hptr|||
2402 save_int|||
2403 save_item|||
2404 save_iv||5.005000|
2405 save_lines|||
2406 save_list|||
2407 save_long|||
2408 save_magic_flags|||
2409 save_mortalizesv||5.007001|
2410 save_nogv|||
2411 save_op||5.005000|
2412 save_padsv_and_mortalize||5.010001|
2413 save_pptr|||
2414 save_pushi32ptr||5.010001|
2415 save_pushptri32ptr|||
2416 save_pushptrptr||5.010001|
2417 save_pushptr||5.010001|
2418 save_re_context||5.006000|
2419 save_scalar_at|||
2420 save_scalar|||
2421 save_set_svflags||5.009000|
2422 save_shared_pvref||5.007003|
2423 save_sptr|||
2424 save_strlen|||
2425 save_svref|||
2426 save_vptr||5.006000|
2427 savepvn|||
2428 savepvs||5.009003|
2429 savepv|||
2430 savesharedpvn||5.009005|
2431 savesharedpvs||5.013006|
2432 savesharedpv||5.007003|
2433 savesharedsvpv||5.013006|
2434 savestack_grow_cnt||5.008001|
2435 savestack_grow|||
2436 savesvpv||5.009002|
2437 sawparens|||
2438 scalar_mod_type|||n
2439 scalarboolean|||
2440 scalarkids|||
2441 scalarseq|||
2442 scalarvoid|||
2443 scalar|||
2444 scan_bin||5.006000|
2445 scan_commit|||
2446 scan_const|||
2447 scan_formline|||
2448 scan_heredoc|||
2449 scan_hex|||
2450 scan_ident|||
2451 scan_inputsymbol|||
2452 scan_num||5.007001|
2453 scan_oct|||
2454 scan_pat|||
2455 scan_str|||
2456 scan_subst|||
2457 scan_trans|||
2458 scan_version||5.009001|
2459 scan_vstring||5.009005|
2460 scan_word|||
2461 search_const|||
2462 seed||5.008001|
2463 sequence_num|||
2464 set_ANYOF_arg|||
2465 set_caret_X|||
2466 set_context||5.006000|n
2467 set_numeric_local||5.006000|
2468 set_numeric_radix||5.006000|
2469 set_numeric_standard||5.006000|
2470 set_padlist|||n
2471 setdefout|||
2472 share_hek_flags|||
2473 share_hek||5.004000|
2474 should_warn_nl|||n
2475 si_dup|||
2476 sighandler|||n
2477 simplify_sort|||
2478 skipspace_flags|||
2479 softref2xv|||
2480 sortcv_stacked|||
2481 sortcv_xsub|||
2482 sortcv|||
2483 sortsv_flags||5.009003|
2484 sortsv||5.007003|
2485 space_join_names_mortal|||
2486 ss_dup|||
2487 ssc_add_range|||
2488 ssc_and|||
2489 ssc_anything|||
2490 ssc_clear_locale|||n
2491 ssc_cp_and|||
2492 ssc_finalize|||
2493 ssc_init|||
2494 ssc_intersection|||
2495 ssc_is_anything|||n
2496 ssc_is_cp_posixl_init|||n
2497 ssc_or|||
2498 ssc_union|||
2499 stack_grow|||
2500 start_glob|||
2501 start_subparse||5.004000|
2502 stdize_locale|||
2503 strEQ|||
2504 strGE|||
2505 strGT|||
2506 strLE|||
2507 strLT|||
2508 strNE|||
2509 str_to_version||5.006000|
2510 strip_return|||
2511 strnEQ|||
2512 strnNE|||
2513 study_chunk|||
2514 sub_crush_depth|||
2515 sublex_done|||
2516 sublex_push|||
2517 sublex_start|||
2518 sv_2bool_flags||5.013006|
2519 sv_2bool|||
2520 sv_2cv|||
2521 sv_2io|||
2522 sv_2iuv_common|||
2523 sv_2iuv_non_preserve|||
2524 sv_2iv_flags||5.009001|
2525 sv_2iv|||
2526 sv_2mortal|||
2527 sv_2num|||
2528 sv_2nv_flags||5.013001|
2529 sv_2pv_flags|5.007002||p
2530 sv_2pv_nolen|5.006000||p
2531 sv_2pvbyte_nolen|5.006000||p
2532 sv_2pvbyte|5.006000||p
2533 sv_2pvutf8_nolen||5.006000|
2534 sv_2pvutf8||5.006000|
2535 sv_2pv|||
2536 sv_2uv_flags||5.009001|
2537 sv_2uv|5.004000||p
2538 sv_add_arena|||
2539 sv_add_backref|||
2540 sv_backoff|||n
2541 sv_bless|||
2542 sv_buf_to_ro|||
2543 sv_buf_to_rw|||
2544 sv_cat_decode||5.008001|
2545 sv_catpv_flags||5.013006|
2546 sv_catpv_mg|5.004050||p
2547 sv_catpv_nomg||5.013006|
2548 sv_catpvf_mg_nocontext|||pvn
2549 sv_catpvf_mg|5.006000|5.004000|pv
2550 sv_catpvf_nocontext|||vn
2551 sv_catpvf||5.004000|v
2552 sv_catpvn_flags||5.007002|
2553 sv_catpvn_mg|5.004050||p
2554 sv_catpvn_nomg|5.007002||p
2555 sv_catpvn|||
2556 sv_catpvs_flags||5.013006|
2557 sv_catpvs_mg||5.013006|
2558 sv_catpvs_nomg||5.013006|
2559 sv_catpvs|5.009003||p
2560 sv_catpv|||
2561 sv_catsv_flags||5.007002|
2562 sv_catsv_mg|5.004050||p
2563 sv_catsv_nomg|5.007002||p
2564 sv_catsv|||
2565 sv_chop|||
2566 sv_clean_all|||
2567 sv_clean_objs|||
2568 sv_clear|||
2569 sv_cmp_flags||5.013006|
2570 sv_cmp_locale_flags||5.013006|
2571 sv_cmp_locale||5.004000|
2572 sv_cmp|||
2573 sv_collxfrm_flags||5.013006|
2574 sv_collxfrm|||
2575 sv_copypv_flags||5.017002|
2576 sv_copypv_nomg||5.017002|
2577 sv_copypv|||
2578 sv_dec_nomg||5.013002|
2579 sv_dec|||
2580 sv_del_backref|||
2581 sv_derived_from_pvn||5.015004|
2582 sv_derived_from_pv||5.015004|
2583 sv_derived_from_sv||5.015004|
2584 sv_derived_from||5.004000|
2585 sv_destroyable||5.010000|
2586 sv_display|||
2587 sv_does_pvn||5.015004|
2588 sv_does_pv||5.015004|
2589 sv_does_sv||5.015004|
2590 sv_does||5.009004|
2591 sv_dump|||
2592 sv_dup_common|||
2593 sv_dup_inc_multiple|||
2594 sv_dup_inc|||
2595 sv_dup|||
2596 sv_eq_flags||5.013006|
2597 sv_eq|||
2598 sv_exp_grow|||
2599 sv_force_normal_flags||5.007001|
2600 sv_force_normal||5.006000|
2601 sv_free2|||
2602 sv_free_arenas|||
2603 sv_free|||
2604 sv_get_backrefs||5.021008|n
2605 sv_gets||5.003070|
2606 sv_grow|||
2607 sv_i_ncmp|||
2608 sv_inc_nomg||5.013002|
2609 sv_inc|||
2610 sv_insert_flags||5.010001|
2611 sv_insert|||
2612 sv_isa|||
2613 sv_isobject|||
2614 sv_iv||5.005000|
2615 sv_kill_backrefs|||
2616 sv_len_utf8_nomg|||
2617 sv_len_utf8||5.006000|
2618 sv_len|||
2619 sv_magic_portable|5.021008|5.004000|p
2620 sv_magicext_mglob|||
2621 sv_magicext||5.007003|
2622 sv_magic|||
2623 sv_mortalcopy_flags|||
2624 sv_mortalcopy|||
2625 sv_ncmp|||
2626 sv_newmortal|||
2627 sv_newref|||
2628 sv_nolocking||5.007003|
2629 sv_nosharing||5.007003|
2630 sv_nounlocking|||
2631 sv_nv||5.005000|
2632 sv_only_taint_gmagic|||n
2633 sv_or_pv_pos_u2b|||
2634 sv_peek||5.005000|
2635 sv_pos_b2u_flags||5.019003|
2636 sv_pos_b2u_midway|||
2637 sv_pos_b2u||5.006000|
2638 sv_pos_u2b_cached|||
2639 sv_pos_u2b_flags||5.011005|
2640 sv_pos_u2b_forwards|||n
2641 sv_pos_u2b_midway|||n
2642 sv_pos_u2b||5.006000|
2643 sv_pvbyten_force||5.006000|
2644 sv_pvbyten||5.006000|
2645 sv_pvbyte||5.006000|
2646 sv_pvn_force_flags|5.007002||p
2647 sv_pvn_force|||
2648 sv_pvn_nomg|5.007003|5.005000|p
2649 sv_pvn||5.005000|
2650 sv_pvutf8n_force||5.006000|
2651 sv_pvutf8n||5.006000|
2652 sv_pvutf8||5.006000|
2653 sv_pv||5.006000|
2654 sv_recode_to_utf8||5.007003|
2655 sv_reftype|||
2656 sv_ref|||
2657 sv_release_COW|||
2658 sv_replace|||
2659 sv_report_used|||
2660 sv_resetpvn|||
2661 sv_reset|||
2662 sv_rvweaken||5.006000|
2663 sv_sethek|||
2664 sv_setiv_mg|5.004050||p
2665 sv_setiv|||
2666 sv_setnv_mg|5.006000||p
2667 sv_setnv|||
2668 sv_setpv_mg|5.004050||p
2669 sv_setpvf_mg_nocontext|||pvn
2670 sv_setpvf_mg|5.006000|5.004000|pv
2671 sv_setpvf_nocontext|||vn
2672 sv_setpvf||5.004000|v
2673 sv_setpviv_mg||5.008001|
2674 sv_setpviv||5.008001|
2675 sv_setpvn_mg|5.004050||p
2676 sv_setpvn|||
2677 sv_setpvs_mg||5.013006|
2678 sv_setpvs|5.009004||p
2679 sv_setpv|||
2680 sv_setref_iv|||
2681 sv_setref_nv|||
2682 sv_setref_pvn|||
2683 sv_setref_pvs||5.021008|
2684 sv_setref_pv|||
2685 sv_setref_uv||5.007001|
2686 sv_setsv_cow|||
2687 sv_setsv_flags||5.007002|
2688 sv_setsv_mg|5.004050||p
2689 sv_setsv_nomg|5.007002||p
2690 sv_setsv|||
2691 sv_setuv_mg|5.004050||p
2692 sv_setuv|5.004000||p
2693 sv_tainted||5.004000|
2694 sv_taint||5.004000|
2695 sv_true||5.005000|
2696 sv_unglob|||
2697 sv_uni_display||5.007003|
2698 sv_unmagicext|5.013008||p
2699 sv_unmagic|||
2700 sv_unref_flags||5.007001|
2701 sv_unref|||
2702 sv_untaint||5.004000|
2703 sv_upgrade|||
2704 sv_usepvn_flags||5.009004|
2705 sv_usepvn_mg|5.004050||p
2706 sv_usepvn|||
2707 sv_utf8_decode||5.006000|
2708 sv_utf8_downgrade||5.006000|
2709 sv_utf8_encode||5.006000|
2710 sv_utf8_upgrade_flags_grow||5.011000|
2711 sv_utf8_upgrade_flags||5.007002|
2712 sv_utf8_upgrade_nomg||5.007002|
2713 sv_utf8_upgrade||5.007001|
2714 sv_uv|5.005000||p
2715 sv_vcatpvf_mg|5.006000|5.004000|p
2716 sv_vcatpvfn_flags||5.017002|
2717 sv_vcatpvfn||5.004000|
2718 sv_vcatpvf|5.006000|5.004000|p
2719 sv_vsetpvf_mg|5.006000|5.004000|p
2720 sv_vsetpvfn||5.004000|
2721 sv_vsetpvf|5.006000|5.004000|p
2722 svtype|||
2723 swallow_bom|||
2724 swash_fetch||5.007002|
2725 swash_init||5.006000|
2726 swash_scan_list_line|||
2727 swatch_get|||
2728 sync_locale||5.021004|
2729 sys_init3||5.010000|n
2730 sys_init||5.010000|n
2731 sys_intern_clear|||
2732 sys_intern_dup|||
2733 sys_intern_init|||
2734 sys_term||5.010000|n
2735 taint_env|||
2736 taint_proper|||
2737 tied_method|||v
2738 tmps_grow_p|||
2739 toFOLD_uni||5.007003|
2740 toFOLD_utf8||5.019001|
2741 toFOLD||5.019001|
2742 toLOWER_L1||5.019001|
2743 toLOWER_LC||5.004000|
2744 toLOWER_uni||5.007003|
2745 toLOWER_utf8||5.015007|
2746 toLOWER|||
2747 toTITLE_uni||5.007003|
2748 toTITLE_utf8||5.015007|
2749 toTITLE||5.019001|
2750 toUPPER_uni||5.007003|
2751 toUPPER_utf8||5.015007|
2752 toUPPER|||
2753 to_byte_substr|||
2754 to_lower_latin1|||n
2755 to_uni_fold||5.007003|
2756 to_uni_lower_lc||5.006000|
2757 to_uni_lower||5.007003|
2758 to_uni_title_lc||5.006000|
2759 to_uni_title||5.007003|
2760 to_uni_upper_lc||5.006000|
2761 to_uni_upper||5.007003|
2762 to_utf8_case||5.007003|
2763 to_utf8_fold||5.015007|
2764 to_utf8_lower||5.015007|
2765 to_utf8_substr|||
2766 to_utf8_title||5.015007|
2767 to_utf8_upper||5.015007|
2768 tokenize_use|||
2769 tokeq|||
2770 tokereport|||
2771 too_few_arguments_pv|||
2772 too_many_arguments_pv|||
2773 translate_substr_offsets|||n
2774 try_amagic_bin|||
2775 try_amagic_un|||
2776 uiv_2buf|||n
2777 unlnk|||
2778 unpack_rec|||
2779 unpack_str||5.007003|
2780 unpackstring||5.008001|
2781 unreferenced_to_tmp_stack|||
2782 unshare_hek_or_pvn|||
2783 unshare_hek|||
2784 unsharepvn||5.003070|
2785 unwind_handler_stack|||
2786 update_debugger_info|||
2787 upg_version||5.009005|
2788 usage|||
2789 utf16_textfilter|||
2790 utf16_to_utf8_reversed||5.006001|
2791 utf16_to_utf8||5.006001|
2792 utf8_distance||5.006000|
2793 utf8_hop||5.006000|n
2794 utf8_length||5.007001|
2795 utf8_mg_len_cache_update|||
2796 utf8_mg_pos_cache_update|||
2797 utf8_to_bytes||5.006001|
2798 utf8_to_uvchr_buf||5.015009|
2799 utf8_to_uvchr||5.007001|
2800 utf8_to_uvuni_buf||5.015009|
2801 utf8_to_uvuni||5.007001|
2802 utf8n_to_uvchr||5.007001|
2803 utf8n_to_uvuni||5.007001|
2804 utilize|||
2805 uvchr_to_utf8_flags||5.007003|
2806 uvchr_to_utf8||5.007001|
2807 uvoffuni_to_utf8_flags||5.019004|
2808 uvuni_to_utf8_flags||5.007003|
2809 uvuni_to_utf8||5.007001|
2810 valid_utf8_to_uvchr||5.015009|
2811 valid_utf8_to_uvuni||5.015009|
2812 validate_proto|||
2813 validate_suid|||
2814 varname|||
2815 vcmp||5.009000|
2816 vcroak||5.006000|
2817 vdeb||5.007003|
2818 vform||5.006000|
2819 visit|||
2820 vivify_defelem|||
2821 vivify_ref|||
2822 vload_module|5.006000||p
2823 vmess||5.006000|
2824 vnewSVpvf|5.006000|5.004000|p
2825 vnormal||5.009002|
2826 vnumify||5.009000|
2827 vstringify||5.009000|
2828 vverify||5.009003|
2829 vwarner||5.006000|
2830 vwarn||5.006000|
2831 wait4pid|||
2832 warn_nocontext|||vn
2833 warn_sv||5.013001|
2834 warner_nocontext|||vn
2835 warner|5.006000|5.004000|pv
2836 warn|||v
2837 was_lvalue_sub|||
2838 watch|||
2839 whichsig_pvn||5.015004|
2840 whichsig_pv||5.015004|
2841 whichsig_sv||5.015004|
2842 whichsig|||
2843 win32_croak_not_implemented|||n
2844 with_queued_errors|||
2845 wrap_op_checker||5.015008|
2846 write_to_stderr|||
2847 xs_boot_epilog|||
2848 xs_handshake|||vn
2849 xs_version_bootcheck|||
2850 yyerror_pvn|||
2851 yyerror_pv|||
2852 yyerror|||
2853 yylex|||
2854 yyparse|||
2855 yyunlex|||
2856 yywarn|||
2857 );
2858
2859 if (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
2870 my(%replace, %need, %hints, %warnings, %depends);
2871 my $replace = 0;
2872 my($hint, $define, $function);
2873
2874 sub 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
2884 while (<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
2945 for (values %depends) {
2946 my %s;
2947 $_ = [sort grep !$s{$_}++, @$_];
2948 }
2949
2950 if (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
2980 if (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
2995 my @files;
2996 my @srcext = qw( .xs .c .h .cc .cpp -c.inc -xs.inc );
2997 my $srcext = join '|', map { quotemeta $_ } @srcext;
2998
2999 if (@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 }
3015 else {
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
3028 if (!@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
3041 die "No input files given!\n" unless @files;
3042
3043 my(%files, %global, %revreplace);
3044 %revreplace = reverse %replace;
3045 my $filename;
3046 my $patch_opened = 0;
3047
3048 for $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
3127 my $need;
3128 for $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
3143 for $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 {
3330 fallback:
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
3345 close PATCH if $patch_opened;
3346
3347 exit 0;
3348
3349
3350 sub try_use { eval "use @_;"; return $@ eq '' }
3351
3352 sub 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
3367 HEADER
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
3386 sub 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
3420 sub 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
3430 sub 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
3458 sub 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
3483 sub info
3484 {
3485 $opt{quiet} and return;
3486 print @_, "\n";
3487 }
3488
3489 sub diag
3490 {
3491 $opt{quiet} and return;
3492 $opt{diag} and print @_, "\n";
3493 }
3494
3495 sub warning
3496 {
3497 $opt{quiet} and return;
3498 print "*** ", @_, "\n";
3499 }
3500
3501 sub error
3502 {
3503 print "*** ERROR: ", @_, "\n";
3504 }
3505
3506 my %given_hints;
3507 my %given_warnings;
3508 sub 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
3527 sub 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
3536 Usage: $usage
3537
3538 See perldoc $0 for details.
3539
3540 ENDUSAGE
3541
3542 exit 2;
3543 }
3544
3545 sub 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
3552 if (\@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 }
3563 print <<END;
3564
3565 Sorry, but this is a stripped version of \$0.
3566
3567 To be able to use its original script and doc functionality,
3568 please try to regenerate this file using:
3569
3570 \$^X \$0 --unstrip
3571
3572 END
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