Algorithm-AM
view release on metacpan or search on metacpan
PL_curstash|5.004005|5.003007|p
PL_curstname|5.005000||Viu
PL_custom_op_descs|5.007003||Viu
PL_custom_op_names|5.007003||Viu
PL_custom_ops|5.013007||Viu
PL_cv_has_eval|5.009000||Viu
PL_dbargs|5.005000||Viu
PL_DBcontrol|5.021005||Viu
PL_DBcv|5.005000||Viu
PL_DBgv|5.005000||Viu
PL_DBline|5.005000||Viu
PL_DBsignal|5.005000|5.003007|poVnu
PL_DBsignal_iv|5.021005||Viu
PL_DBsingle|5.005000|5.003007|poV
PL_DBsingle_iv|5.021005||Viu
PL_DBsub|5.005000|5.003007|poV
PL_DBtrace|5.005000|5.003007|poV
PL_DBtrace_iv|5.021005||Viu
PL_debstash|5.005000|5.003007|poVnu
PL_debug|5.005000||Viu
PL_debug_pad|5.007003||Viu
PL_defgv|5.004005|5.003007|p
PL_def_layerlist|5.007003||Viu
PL_defoutgv|5.005000||Viu
PL_defstash|5.005000||Viu
PL_delaymagic|5.005000||Viu
PL_delaymagic_egid|5.015008||Viu
PL_delaymagic_euid|5.015008||Viu
PL_delaymagic_gid|5.015008||Viu
PL_delaymagic_uid|5.015008||Viu
PL_destroyhook|5.010000||Viu
PL_diehook|5.005000|5.003007|poVnu
PL_Dir|5.006000||Viu
PL_dirty|5.005000|5.003007|poVnu
PL_doswitches|5.005000||Viu
PL_dowarn|5.005000|5.003007|poV
PL_dumper_fd|5.009003||Viu
PL_dumpindent|5.006000||Viu
PL_dump_re_max_len|5.023008||Viu
PL_efloatbuf|5.006000||Viu
PL_efloatsize|5.006000||Viu
PL_E_FORMAT_PRECISION|5.029000||Viu
PL_encoding|5.007003||Viu
PL_endav|5.005000||Viu
PL_Env|5.006000||Viu
PL_envgv|5.005000||Viu
PL_errgv|5.004005|5.003007|p
PL_error_count||5.003007|ponu
PL_errors|5.006000||Viu
PL_e_script|5.005000||Viu
PL_eval_root|5.005000||Viu
PL_evalseq|5.005000||Viu
PL_eval_start|5.005000||Viu
PL_exit_flags|5.006000|5.006000|
PL_exitlist|5.005000||Viu
PL_exitlistlen|5.005000||Viu
PL_expect||5.003007|ponu
PL_fdpid|5.005000||Viu
PL_filemode|5.005000||Viu
PL_firstgv|5.005000||Viu
PL_forkprocess|5.005000||Viu
PL_formtarget|5.005000||Viu
PL_GCB_invlist|5.021009||Viu
PL_generation|5.005000||Viu
PL_gensym|5.005000||Viu
PL_globalstash|5.005000||Viu
PL_globhook|5.015005||Viu
PL_hash_rand_bits|5.017010||Viu
PL_HASH_RAND_BITS_ENABLED|5.018000||Viu
PL_hash_rand_bits_enabled|5.018000||Viu
PL_HasMultiCharFold|5.017005||Viu
PL_hexdigit||5.003007|pn
PL_hintgv|5.005000||Viu
PL_hints|5.005000|5.003007|poVnu
PL_hv_fetch_ent_mh|5.005000||Viu
PL_incgv|5.005000||Viu
PL_in_clean_all|5.005000||Viu
PL_in_clean_objs|5.005000||Viu
PL_in_eval|5.005000||Viu
PL_initav|5.005000||Viu
PL_in_load_module|5.008001||Viu
PL_in_my||5.003007|ponu
PL_in_my_stash||5.005000|ponu
PL_inplace|5.005000||Viu
PL_in_some_fold|5.029007||Viu
PL_internal_random_state|5.027004||Viu
PL_in_utf8_COLLATE_locale|5.025002||Viu
PL_in_utf8_CTYPE_locale|5.019009||Viu
PL_in_utf8_turkic_locale|5.029008||Viu
PL_isarev|5.009005||Viu
PL_keyword_plugin|5.011002|5.011002|x
PL_known_layers|5.007003||Viu
PL_langinfo_buf|5.027004||Viu
PL_langinfo_bufsize|5.027004||Viu
PL_lastfd|5.005000||Viu
PL_lastgotoprobe|5.005000||Viu
PL_last_in_gv|5.005000||Vi
PL_laststatval|5.005000|5.003007|poVnu
PL_laststype|5.005000||Viu
PL_Latin1|5.015008||Viu
PL_LB_invlist|5.023007||Viu
PL_lc_numeric_mutex_depth|5.027009||Viu
PL_lex_state||5.003007|ponu
PL_lex_stuff||5.003007|ponu
PL_linestr||5.003007|ponu
PL_LIO|5.006000||Viu
PL_locale_utf8ness|5.027009||Viu
PL_localizing|5.005000||Viu
PL_localpatches|5.005000||Viu
PL_lockhook|5.007003||Viu
PL_main_cv|5.005000||Viu
PL_main_root|5.005000||Viu
PL_mainstack|5.005000||Viu
PL_main_start|5.005000||Viu
PL_markstack|5.005000||Viu
PL_markstack_max|5.005000||Viu
PL_markstack_ptr|5.005000||Viu
PL_max_intro_pending|5.005000||Viu
PL_maxo|5.005000||Viu
PL_maxsysfd|5.005000||Viu
PL_mbrlen_ps|5.031009||Viu
popen|5.003007||Viu
POPi|5.003007|5.003007|
POPl|5.003007|5.003007|
POPMARK|5.003007||cViu
POP_MULTICALL|5.009003|5.009003|
POPn|5.006000|5.003007|
POPp|5.003007|5.003007|
POPpbytex|5.007001|5.007001|
POPpconstx|5.009003||Viu
POPpx|5.005003|5.005003|
POPs|5.003007|5.003007|
pop_scope|5.003007|5.003007|u
POPSTACK|5.005000||Viu
POPSTACK_TO|5.005000||Viu
POPu|5.004000|5.004000|
POPul|5.006000|5.006000|
populate_ANYOF_from_invlist|5.019005||Viu
populate_isa|||viu
POSIXA|5.017003||Viu
POSIX_CC_COUNT|5.017008||Viu
POSIXD|5.017003||Viu
POSIXL|5.017003||Viu
POSIXL_CLEAR|5.029004||Viu
POSIXL_SET|5.029004||Viu
POSIXL_TEST|5.029004||Viu
POSIXL_ZERO|5.029004||Viu
POSIXU|5.017003||Viu
PP|5.003007||Viu
pregcomp|5.009005|5.009005|
pregexec|5.003007|5.003007|
PREGf_ANCH|5.019009||Viu
PREGf_ANCH_GPOS|5.019009||Viu
PREGf_ANCH_MBOL|5.019009||Viu
PREGf_ANCH_SBOL|5.019009||Viu
PREGf_CUTGROUP_SEEN|5.009005||Viu
PREGf_GPOS_FLOAT|5.019009||Viu
PREGf_GPOS_SEEN|5.019009||Viu
PREGf_IMPLICIT|5.009005||Viu
PREGf_NAUGHTY|5.009005||Viu
PREGf_NOSCAN|5.019009||Viu
PREGf_RECURSE_SEEN|5.023009||Viu
pregfree2|5.011000||cVu
pregfree|5.003007|5.003007|u
PREGf_SKIP|5.009005||Viu
PREGf_USE_RE_EVAL|5.017001||Viu
PREGf_VERBARG_SEEN|5.009005||Viu
prepare_SV_for_RV|5.010001||Viu
prescan_version|5.011004|5.011004|
PRESCAN_VERSION|5.019008||Viu
PREVOPER|5.003007||Viu
PREV_RANGE_MATCHES_INVLIST|5.023002||Viu
printbuf|5.009004||Viu
print_bytes_for_locale|5.027002||Viu
print_collxfrm_input_and_return|5.025004||Viu
printf|5.003007||Viu
PRINTF_FORMAT_NULL_OK|5.009005|5.009005|Vn
printf_nocontext|5.007001|5.007001|vdnu
PRIVLIB|5.003007|5.003007|Vn
PRIVLIB_EXP|5.003007|5.003007|Vn
PRIVSHIFT|5.003007||Viu
process_special_blocks|5.009005||Viu
PROCSELFEXE_PATH|5.007003|5.007003|Vn
PRUNE|5.009005||Viu
PSEUDO|5.009004||Viu
pthread_addr_t|5.005000||Viu
PTHREAD_ATFORK|5.007002||Viu
pthread_attr_init|5.006000||Viu
PTHREAD_ATTR_SETDETACHSTATE|5.006000||Viu
pthread_condattr_default|5.005000||Viu
PTHREAD_CREATE|5.006000||Viu
pthread_create|5.008001||Viu
PTHREAD_CREATE_JOINABLE|5.005000||Viu
PTHREAD_GETSPECIFIC|5.007002||Viu
PTHREAD_GETSPECIFIC_INT|5.006000||Viu
pthread_key_create|5.005000||Viu
pthread_keycreate|5.008001||Viu
pthread_mutexattr_default|5.005000||Viu
pthread_mutexattr_init|5.005000||Viu
pthread_mutexattr_settype|5.005000||Viu
pTHX_12|5.019010||Viu
pTHX_1|5.006000||Viu
pTHX_2|5.006000||Viu
pTHX_3|5.006000||Viu
pTHX_4|5.006000||Viu
pTHX_||5.003007|p
pTHX|5.006000|5.003007|p
pTHX_5|5.009003||Viu
pTHX_6|5.009003||Viu
pTHX_7|5.009003||Viu
pTHX_8|5.009003||Viu
pTHX_9|5.009003||Viu
pTHX__FORMAT|5.009002||Viu
pTHX_FORMAT|5.009002||Viu
pTHXo|5.006000||Viu
pTHX__VALUE|5.009002||Viu
pTHX_VALUE|5.009002||Viu
pTHXx|5.006000||Viu
PTR2IV|5.006000|5.003007|p
PTR2nat|5.009003|5.003007|p
PTR2NV|5.006000|5.003007|p
PTR2ul|5.007001|5.003007|p
PTR2UV|5.006000|5.003007|p
Ptrdiff_t|5.029003||Viu
ptr_hash|5.017010||Vniu
PTRSIZE|5.005000|5.005000|Vn
ptr_table_clear|5.009005|5.009005|du
ptr_table_fetch|5.009005|5.009005|u
ptr_table_find|5.009004||Vniu
ptr_table_free|5.009005|5.009005|u
ptr_table_new|5.009005|5.009005|u
ptr_table_split|5.009005|5.009005|u
ptr_table_store|5.009005|5.009005|u
PTRV|5.006000|5.003007|pV
PUSHi|5.003007|5.003007|
PUSHMARK|5.003007|5.003007|
PUSHmortal|5.009002|5.003007|p
PUSH_MULTICALL|5.011000|5.011000|
PUSH_MULTICALL_FLAGS|5.018000||Viu
PUSHn|5.006000|5.003007|
PUSHp|5.003007|5.003007|
PUSHs|5.003007|5.003007|
yyparse|5.003007||Viu
yyquit|5.025010||Viu
YYSTYPE_IS_DECLARED|5.009001||Viu
YYSTYPE_IS_TRIVIAL|5.009001||Viu
YYTOKENTYPE|5.009001||Viu
yyunlex|5.013005||Viu
yywarn|5.003007||Viu
ZAPHOD32_FINALIZE|5.027001||Viu
ZAPHOD32_MIX|5.027001||Viu
ZAPHOD32_SCRAMBLE32|5.027001||Viu
ZAPHOD32_STATIC_INLINE|5.027001||Viu
ZAPHOD32_WARN2|5.027001||Viu
ZAPHOD32_WARN3|5.027001||Viu
ZAPHOD32_WARN4|5.027001||Viu
ZAPHOD32_WARN5|5.027001||Viu
ZAPHOD32_WARN6|5.027001||Viu
Zero|5.003007|5.003007|
ZeroD|5.009002|5.003007|p
);
if (exists $opt{'list-unsupported'}) {
my $f;
for $f (sort dictionary_order keys %API) {
next if $API{$f}{core_only};
next if $API{$f}{beyond_depr};
next if $API{$f}{inaccessible};
next if $API{$f}{experimental};
next unless $API{$f}{todo};
next if int_parse_version($API{$f}{todo}) <= $int_min_perl;
my $repeat = 40 - length($f);
$repeat = 0 if $repeat < 0;
print "$f ", '.'x $repeat, " ", format_version($API{$f}{todo}), "\n";
}
exit 0;
}
# Scan for hints, possible replacement candidates, etc.
my(%replace, %need, %hints, %warnings, %depends);
my $replace = 0;
my($hint, $define, $function);
sub find_api
{
BEGIN { 'warnings'->unimport('uninitialized') if "$]" > '5.006' }
my $code = shift;
$code =~ s{
/ (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]*)
| "[^"\\]*(?:\\.[^"\\]*)*"
| '[^'\\]*(?:\\.[^'\\]*)*' }{}egsx;
grep { exists $API{$_} } $code =~ /(\w+)/mg;
}
while (<DATA>) {
if ($hint) {
# Here, we are in the middle of accumulating a hint or warning.
my $end_of_hint = 0;
# A line containing a comment end marker closes the hint. Remove that
# marker for processing below.
if (s/\s*$rcce(.*?)\s*$//) {
die "Nothing can follow the end of comment in '$_'\n" if length $1 > 0;
$end_of_hint = 1;
}
# Set $h to the hash of which type.
my $h = $hint->[0] eq 'Hint' ? \%hints : \%warnings;
# Ignore any leading and trailing white space, and an optional star comment
# continuation marker, then place the meat of the line into $1
m/^\s*(?:\*\s*)?(.*?)\s*$/;
# Add the meat of this line to the hash value of each API element it
# applies to
for (@{$hint->[1]}) {
$h->{$_} ||= ''; # avoid the warning older perls generate
$h->{$_} .= "$1\n";
}
# If the line had a comment close, we are through with this hint
undef $hint if $end_of_hint;
next;
}
# Set up $hint if this is the beginning of a Hint: or Warning:
# These are from a multi-line C comment in the file, with the first line
# looking like (a space has been inserted because this file can't have C
# comment markers in it):
# / * Warning: PL_expect, PL_copline, PL_rsfp
#
# $hint becomes
# [
# 'Warning',
# [
# 'PL_expect',
# 'PL_copline',
# 'PL_rsfp',
# ],
# ]
if (m{^\s*$rccs\s+(Hint|Warning):\s+(\w+(?:,?\s+\w+)*)\s*$}) {
$hint = [$1, [split /,?\s+/, $2]];
next;
}
if ($define) { # If in the middle of a definition...
# append a continuation line ending with backslash.
if ($define->[1] =~ /\\$/) {
$define->[1] .= $_;
}
else { # Otherwise this line ends the definition, make foo depend on bar
# (and what bar depends on) if its not one of ppp's own constructs
if (exists $API{$define->[0]} && $define->[1] !~ /^DPPP_\(/) {
my @n = find_api($define->[1]);
push @{$depends{$define->[0]}}, @n if @n
}
undef $define;
}
}
( run in 0.422 second using v1.01-cache-2.11-cpan-f6376fbd888 )