Ancient

 view release on metacpan or  search on metacpan

lib/file.pm  view on Meta::CPAN

Advanced line processing functions for filtering and transforming file content.

=head2 count_lines

    my $count = file::count_lines($path);
    my $count = file::count_lines($path, $predicate);

Count lines in a file. With a predicate, counts only matching lines.

    my $total = file::count_lines($path);
    my $non_blank = file::count_lines($path, 'is_not_blank');
    my $long = file::count_lines($path, sub { length(shift) > 80 });

=head2 find_line

    my $line = file::find_line($path, $predicate);

Find and return the first line matching a predicate. Returns undef if
no match found.

    my $comment = file::find_line($path, 'is_comment');
    my $error = file::find_line($path, sub { /ERROR/ });

=head2 grep_lines

    my $lines = file::grep_lines($path, $predicate);

Filter lines matching a predicate. Returns arrayref.

    my $comments = file::grep_lines($path, 'is_comment');
    my $non_blank = file::grep_lines($path, 'is_not_blank');
    my $errors = file::grep_lines($path, sub { /ERROR|WARN/ });

=head2 map_lines

    my $result = file::map_lines($path, $transform);

Transform each line. Returns arrayref of transformed values.

    my $upper = file::map_lines($path, sub { uc(shift) });
    my $lengths = file::map_lines($path, sub { length($_) });

lib/file.pm  view on Meta::CPAN


    # Now use it:
    my $todos = file::grep_lines($path, 'is_todo');

=head2 list_line_callbacks

    my $names = file::list_line_callbacks();

Returns arrayref of all registered callback names.

Built-in predicates: C<is_blank>, C<is_not_blank>, C<blank>, C<not_blank>,
C<is_empty>, C<is_not_empty>, C<is_comment>, C<is_not_comment>.

=head1 AUTHOR

LNATION

=head1 LICENSE

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

lib/util.pm  view on Meta::CPAN

=head2 replace_all

    my $result = replace_all($string, $search, $replace);

Replaces all occurrences of C<$search> in C<$string> with C<$replace>.
Faster than C<< $str =~ s/\Q$search\E/$replace/g >> for literal strings
because it avoids regex compilation.

=head2 negate

    my $not_even = negate(sub { $_ % 2 == 0 });

Returns a new function that negates the result of the given predicate.
Useful for inverting filters.

    my @odds = grep { negate(\&is_even)->($_) } @numbers;

=head2 once

    my $init_once = once(\&initialize);
    $init_once->();  # Runs initialize()

t/1010-strings.t  view on Meta::CPAN

ok(!starts_with('hi', 'hello'), 'short string cannot start with longer prefix');

# Edge cases
ok(!starts_with(undef, 'foo'), 'undef does not start with anything');
ok(!starts_with('foo', undef), 'string does not start with undef');
ok(!starts_with(undef, undef), 'undef does not start with undef');

# Test with variables
my $str1 = 'foobar';
my $prefix = 'foo';
my $not_prefix = 'bar';

ok(starts_with($str1, $prefix), 'variable string starts with variable prefix');
ok(!starts_with($str1, $not_prefix), 'variable string does not start with wrong prefix');

# Numeric strings
ok(starts_with('12345', '123'), 'numeric string starts with numeric prefix');
ok(starts_with('12345', 12), 'numeric string starts with number prefix');

# ============================================
# ends_with tests
# ============================================

ok(ends_with('hello world', 'world'), 'string ends with suffix');

t/1010-strings.t  view on Meta::CPAN

ok(!ends_with('hi', 'hello'), 'short string cannot end with longer suffix');

# Edge cases
ok(!ends_with(undef, 'foo'), 'undef does not end with anything');
ok(!ends_with('foo', undef), 'string does not end with undef');
ok(!ends_with(undef, undef), 'undef does not end with undef');

# Test with variables
my $str2 = 'foobar';
my $suffix = 'bar';
my $not_suffix = 'foo';

ok(ends_with($str2, $suffix), 'variable string ends with variable suffix');
ok(!ends_with($str2, $not_suffix), 'variable string does not end with wrong suffix');

# Numeric strings
ok(ends_with('12345', '345'), 'numeric string ends with numeric suffix');
ok(ends_with('12345', 45), 'numeric string ends with number suffix');

# ============================================
# Combined tests
# ============================================

# Test in boolean context

t/1020-specialized-predicates.t  view on Meta::CPAN


my $adult = first_ge(\@users, 'age', 18);
is($adult->{name}, 'Alice', 'first_ge (hash): finds first adult');

my $minor = first_lt(\@users, 'age', 18);
is($minor->{name}, 'Bob', 'first_lt (hash): finds first minor');

my $exact = first_eq(\@users, 'age', 22);
is($exact->{name}, 'Dave', 'first_eq (hash): finds exact age');

my $not_25 = first_ne(\@users, 'age', 25);
is($not_25->{name}, 'Bob', 'first_ne (hash): finds first not 25');

my $over_30 = first_gt(\@users, 'age', 30);
is($over_30, undef, 'first_gt (hash): undef when no match');

# ============================================
# any_* tests with scalars
# ============================================

ok(any_gt(\@numbers, 10), 'any_gt: true when some > 10');
ok(!any_gt(\@numbers, 100), 'any_gt: false when none > 100');

t/1021-final.t  view on Meta::CPAN


my $last_minor_hash = final_lt(\@users, 'age', 18);
is($last_minor_hash->{name}, 'Dave', 'final_lt (hash): finds last minor');

my $last_adult_hash = final_ge(\@users, 'age', 18);
is($last_adult_hash->{name}, 'Eve', 'final_ge (hash): finds last adult');

my $last_30plus = final_ge(\@users, 'age', 30);
is($last_30plus->{name}, 'Carol', 'final_ge (hash): finds last 30+');

my $last_not_17 = final_ne(\@users, 'age', 17);
is($last_not_17->{name}, 'Eve', 'final_ne (hash): finds last not 17');

# ============================================
# Edge cases
# ============================================

# Single element
my @single = (42);
is(final_gt(\@single, 41), 42, 'single element: final_gt match');
is(final_gt(\@single, 42), undef, 'single element: final_gt no match');
is(final(sub { $_ == 42 }, \@single), 42, 'single element: final callback match');

t/1023-util-callbacks.t  view on Meta::CPAN

ok(ref $callbacks eq 'ARRAY', 'list_callbacks returns arrayref');
ok(grep({ $_ eq ':is_positive' } @$callbacks), 'list_callbacks includes :is_positive');
ok(grep({ $_ eq 'divisible_by_3' } @$callbacks), 'list_callbacks includes custom');

# ======================
# Error handling
# ======================
eval { util::any_cb(\@nums, 'nonexistent') };
like($@, qr/unknown callback/, 'unknown callback croaks');

eval { util::any_cb('not_array', ':is_positive') };
like($@, qr/arrayref/, 'non-arrayref croaks');

eval { util::register_callback(':is_positive', sub {}) };
like($@, qr/already registered/, 'cannot re-register');

done_testing();

t/1034-util-functional-valid.t  view on Meta::CPAN

subtest 'tap with $_ ' => sub {
    my $captured;
    my $result = tap(sub { $captured = $_ }, 'hello');

    is($result, 'hello', 'tap: returns string');
    is($captured, 'hello', 'tap: $_ set correctly');
};

subtest 'tap edge cases' => sub {
    # With undef
    my $captured = 'not_set';
    my $result = tap(sub { $captured = $_[0] // 'was_undef' }, undef);
    is($result, undef, 'tap: returns undef');
    is($captured, 'was_undef', 'tap: captured undef');

    # With reference
    my $arr = [1, 2, 3];
    $result = tap(sub { push @{$_[0]}, 4 }, $arr);
    is_deeply($result, [1, 2, 3, 4], 'tap: modified ref returned');
};

t/1037-util-export-registry.t  view on Meta::CPAN

    my %export_hash = map { $_ => 1 } @$exports;
    ok($export_hash{'test_double'}, 'test_double in list');
    ok($export_hash{'test_triple'}, 'test_triple in list');
};

subtest 'register_export validation' => sub {
    # Must be coderef
    eval { util::register_export('bad_ref', [1,2,3]) };
    like($@, qr/coderef/, 'rejects non-coderef');

    eval { util::register_export('bad_scalar', 'not_a_ref') };
    like($@, qr/coderef/, 'rejects scalar');

    eval { util::register_export('bad_hash', {a => 1}) };
    like($@, qr/coderef/, 'rejects hashref');
};

subtest 'register_export duplicate' => sub {
    # Register a function
    util::register_export('test_unique', sub { 'first' });
    ok(util::has_export('test_unique'), 'first registration');

t/1061-util-valid-hof.t  view on Meta::CPAN

    # Using partial with pipeline
    my $add = sub { $_[0] + $_[1] };
    my $add10 = partial($add, 10);
    my $add20 = partial($add, 20);

    is(pipeline(5, $add10, $add20), 35, 'partial in pipeline: 5+10+20');
};

subtest 'real-world use case: validation chain' => sub {
    # Build validators using HOFs
    my $not_empty = sub { defined $_[0] && length($_[0]) > 0 };
    my $max_len = sub { my $max = $_[0]; sub { length($_[0]) <= $max } };
    my $min_len = sub { my $min = $_[0]; sub { length($_[0]) >= $min } };

    my $validate_username = sub {
        my $val = $_[0];
        return 0 unless $not_empty->($val);
        return 0 unless $min_len->(3)->($val);
        return 0 unless $max_len->(20)->($val);
        return 1;
    };

    ok($validate_username->("alice"), 'valid username');
    ok(!$validate_username->("ab"), 'too short');
    ok(!$validate_username->("a" x 25), 'too long');
    ok(!$validate_username->(""), 'empty');
};

t/1073-combinators.t  view on Meta::CPAN

my $is_even = sub { $_[0] % 2 == 0 };
my $is_odd = negate($is_even);

ok($is_even->(4), 'is_even: 4 is even');
ok(!$is_even->(3), 'is_even: 3 is not even');
ok($is_odd->(3), 'negate: 3 is odd');
ok(!$is_odd->(4), 'negate: 4 is not odd');

# negate with multiple args
my $both_positive = sub { $_[0] > 0 && $_[1] > 0 };
my $not_both_positive = negate($both_positive);

ok($both_positive->(1, 2), 'both_positive: 1,2 both positive');
ok(!$not_both_positive->(1, 2), 'negate: 1,2 returns false');
ok($not_both_positive->(-1, 2), 'negate: -1,2 returns true');
ok($not_both_positive->(1, -2), 'negate: 1,-2 returns true');

# negate with $_
my $is_defined = sub { defined $_ };
my $is_undefined = negate($is_defined);
{
    local $_ = 42;
    ok(!$is_undefined->(), 'negate: respects outer $_');
}

# ============================================

t/1079-util-callbacks-xs.t  view on Meta::CPAN

};

# ============================================
# Error handling for new functions
# ============================================

subtest 'partition_cb errors' => sub {
    eval { util::partition_cb([1,2], 'nonexistent') };
    like($@, qr/unknown callback/, 'partition_cb unknown callback');
    
    eval { util::partition_cb('not_array', ':is_positive') };
    like($@, qr/arrayref/, 'partition_cb requires arrayref');
};

subtest 'final_cb errors' => sub {
    eval { util::final_cb([1,2], 'nonexistent') };
    like($@, qr/unknown callback/, 'final_cb unknown callback');
    
    eval { util::final_cb('not_array', ':is_positive') };
    like($@, qr/arrayref/, 'final_cb requires arrayref');
};

# ============================================
# Test Perl-level callback registration
# ============================================

subtest 'Perl callback registration' => sub {
    # Register a custom Perl predicate
    util::register_callback('is_long_string', sub { length($_[0]) > 5 });

t/1079-util-callbacks-xs.t  view on Meta::CPAN

    like($@, qr/unknown callback/, 'first_cb with unknown callback dies');
    
    eval { util::grep_cb([1,2,3], 'nonexistent') };
    like($@, qr/unknown callback/, 'grep_cb with unknown callback dies');
    
    eval { util::count_cb([1,2,3], 'nonexistent') };
    like($@, qr/unknown callback/, 'count_cb with unknown callback dies');
};

subtest 'Invalid arguments' => sub {
    eval { util::any_cb('not_array', ':is_positive') };
    like($@, qr/arrayref/, 'any_cb requires arrayref');
    
    eval { util::any_cb({}, ':is_positive') };
    like($@, qr/arrayref/, 'any_cb rejects hashref');
};

# ============================================
# Test list_callbacks returns all
# ============================================

t/8001-file-callbacks.t  view on Meta::CPAN

subtest 'grep_lines with coderef ($_)' => sub {
    my $result = file::grep_lines($test_file, sub {
        /^[aeiou]/i;  # starts with vowel
    });

    is(scalar(@$result), 2, 'two lines start with vowel');
    is($result->[0], 'apple', 'apple matches');
    is($result->[1], 'elderberry', 'elderberry matches');
};

subtest 'grep_lines with builtin is_not_blank' => sub {
    my $result = file::grep_lines($test_file, 'is_not_blank');

    # Non-blank lines: apple, banana, cherry, # comment, date, # comment, elderberry
    is(scalar(@$result), 7, 'correct non-blank count');
    ok(!(grep { $_ eq '' } @$result), 'no empty lines');
    ok(!(grep { /^\s+$/ } @$result), 'no whitespace-only lines');
};

subtest 'grep_lines with builtin not_blank' => sub {
    my $result = file::grep_lines($test_file, 'not_blank');
    is(scalar(@$result), 7, 'not_blank alias works');
};

subtest 'grep_lines with builtin is_blank' => sub {
    my $result = file::grep_lines($test_file, 'is_blank');
    # Blank = empty or whitespace-only: line 3 ("") and line 5 ("   ")
    is(scalar(@$result), 2, 'two blank lines');
};

subtest 'grep_lines with builtin is_not_empty' => sub {
    my $result = file::grep_lines($test_file, 'is_not_empty');
    # Non-empty = has at least one char (includes whitespace-only): 8 lines
    is(scalar(@$result), 8, 'correct non-empty count');
};

subtest 'grep_lines with builtin is_empty' => sub {
    my $result = file::grep_lines($test_file, 'is_empty');
    # Empty = exactly "" (not whitespace): just line 3
    is(scalar(@$result), 1, 'one empty line');
};

subtest 'grep_lines with builtin is_not_comment' => sub {
    my $result = file::grep_lines($test_file, 'is_not_comment');
    ok(!(grep { /^#/ } @$result), 'no comment lines');
    # 9 total - 2 comments = 7 non-comments
    is(scalar(@$result), 7, 'correct non-comment count');
};

subtest 'grep_lines with builtin is_comment' => sub {
    my $result = file::grep_lines($test_file, 'is_comment');
    is(scalar(@$result), 2, 'two comment lines');
    ok((grep { $_ eq '# this is a comment' } @$result), 'first comment found');
    ok((grep { $_ eq '# another comment' } @$result), 'second comment found');

t/8001-file-callbacks.t  view on Meta::CPAN

    my $count = file::count_lines($test_file);
    is($count, 9, 'counts all lines');
};

subtest 'count_lines with coderef' => sub {
    my $count = file::count_lines($test_file, sub { length(shift) > 0 });
    is($count, 8, 'counts non-empty lines');
};

subtest 'count_lines with builtin' => sub {
    my $count = file::count_lines($test_file, 'is_not_blank');
    is($count, 7, 'counts non-blank lines');
};

subtest 'count_lines empty file' => sub {
    my $empty = "$tmpdir/empty_count.txt";
    file::spew($empty, "");
    my $count = file::count_lines($empty);
    is($count, 0, 'empty file has zero lines');
};

t/8001-file-callbacks.t  view on Meta::CPAN

# list_line_callbacks tests
# ============================================

subtest 'list_line_callbacks' => sub {
    my $list = file::list_line_callbacks();
    is(ref($list), 'ARRAY', 'returns arrayref');

    # Check builtins exist
    my %callbacks = map { $_ => 1 } @$list;
    ok($callbacks{'is_blank'}, 'is_blank registered');
    ok($callbacks{'is_not_blank'}, 'is_not_blank registered');
    ok($callbacks{'is_empty'}, 'is_empty registered');
    ok($callbacks{'is_not_empty'}, 'is_not_empty registered');
    ok($callbacks{'is_comment'}, 'is_comment registered');
    ok($callbacks{'is_not_comment'}, 'is_not_comment registered');

    # Aliases
    ok($callbacks{'blank'}, 'blank alias registered');
    ok($callbacks{'not_blank'}, 'not_blank alias registered');
};

# ============================================
# Edge cases and stress tests
# ============================================

subtest 'callback with die' => sub {
    eval {
        file::each_line($test_file, sub {
            die "intentional error" if shift eq 'cherry';

t/8001-file-callbacks.t  view on Meta::CPAN

subtest 'unicode content' => sub {
    my $unicode = "$tmpdir/unicode.txt";
    file::spew($unicode, "hello\nworld\ncafe");  # Simple ASCII for now

    my $result = file::grep_lines($unicode, sub { length(shift) >= 5 });
    is(scalar(@$result), 2, 'filters unicode correctly');
};

subtest 'chained operations' => sub {
    # grep then count - simulate pipeline
    my $non_blank = file::grep_lines($test_file, 'is_not_blank');
    my $comment_count = scalar(grep { /^#/ } @$non_blank);
    is($comment_count, 2, 'can chain operations');
};

done_testing();

t/8005-file-edge-cases.t  view on Meta::CPAN


use_ok('file');

my $tmpdir = tempdir(CLEANUP => 1);

# ============================================
# Error handling for nonexistent files
# ============================================

subtest 'nonexistent file operations' => sub {
    my $nonexistent = "$tmpdir/does_not_exist.txt";

    is(file::slurp($nonexistent), undef, 'slurp nonexistent returns undef');
    is(file::size($nonexistent), -1, 'size nonexistent returns -1');
    is(file::mtime($nonexistent), -1, 'mtime nonexistent returns -1');
    is(file::atime($nonexistent), -1, 'atime nonexistent returns -1');
    is(file::ctime($nonexistent), -1, 'ctime nonexistent returns -1');
    is(file::mode($nonexistent), -1, 'mode nonexistent returns -1');

    ok(!file::exists($nonexistent), 'exists nonexistent returns false');
    ok(!file::is_file($nonexistent), 'is_file nonexistent returns false');

t/9037-leak-file-callbacks.t  view on Meta::CPAN

            my $result = file::grep_lines($test_file, sub {
                length(shift) > 3;
            });
        }
    } 'grep_lines with coderef does not leak';
};

subtest 'grep_lines with builtin no leak' => sub {
    no_leaks_ok {
        for (1..100) {
            my $result = file::grep_lines($test_file, 'is_not_blank');
        }
    } 'grep_lines with builtin does not leak';
};

subtest 'count_lines no leak' => sub {
    no_leaks_ok {
        for (1..200) {
            my $count = file::count_lines($test_file);
        }
    } 'count_lines does not leak';
};

subtest 'count_lines with predicate no leak' => sub {
    no_leaks_ok {
        for (1..100) {
            my $count = file::count_lines($test_file, 'is_not_blank');
        }
    } 'count_lines with predicate does not leak';
};

subtest 'find_line no leak' => sub {
    no_leaks_ok {
        for (1..100) {
            my $found = file::find_line($test_file, sub { /cherry/ });
        }
    } 'find_line does not leak';

xs/const/ppport.h  view on Meta::CPAN

ASCII_TO_NATIVE|5.007001||Viu
ASCII_TO_NEED|5.019004||dcVnu
asctime|5.009000||Viu
ASCTIME_R_PROTO|5.008000|5.008000|Vn
assert|5.003007||Viu
__ASSERT_|5.019007|5.008008|p
ASSERT_CURPAD_ACTIVE|5.008001||Viu
ASSERT_CURPAD_LEGAL|5.008001||Viu
ASSERT_IS_LITERAL|||Viu
ASSERT_IS_PTR|||Viu
assert_not_glob|5.009004||Viu
ASSERT_NOT_PTR|5.035004||Viu
assert_not_ROK|5.008001||Viu
assert_uft8_cache_coherent|5.013003||Viu
assignment_type|5.021005||Viu
ASSUME|5.019006|5.003007|p
atfork_lock|5.007003|5.007003|nu
atfork_unlock|5.007003|5.007003|nu
aTHX|5.006000|5.003007|p
aTHX_|5.006000|5.003007|p
aTHXa|5.017006||Viu
aTHXo|5.006000||Viu
aTHXR||5.003007|ponu

xs/const/ppport.h  view on Meta::CPAN

NONDESTRUCT_PAT_MODS|5.013002||Viu
NON_OTHER_COUNT|5.033005||Viu
NONV|||Viu
no_op|5.003007||Viu
NOOP|5.005000|5.003007|p
noperl_die|5.021006||vVniu
NORETURN_FUNCTION_END|5.009003||Viu
NORMAL|5.003007||Viu
NOSTR|5.027010||Viu
NO_TAINT_SUPPORT|5.017006||Viu
not_a_number|5.005000||Viu
NOTE3|5.027001||Viu
NOTHING|5.003007||Viu
NOTHING_t8|5.035004||Viu
NOTHING_t8_p8|5.033003||Viu
NOTHING_t8_pb|5.033003||Viu
NOTHING_tb|5.035004||Viu
NOTHING_tb_p8|5.033003||Viu
NOTHING_tb_pb|5.033003||Viu
nothreadhook|5.008000|5.008000|
notify_parser_that_changed_to_utf8|5.025010||Viu
not_incrementable|5.021002||Viu
NOT_IN_PAD|5.005000||Viu
NOT_REACHED|5.019006|5.003007|poVnu
NPOSIXA|5.017003||Viu
NPOSIXA_t8|5.035004||Viu
NPOSIXA_t8_p8|5.033003||Viu
NPOSIXA_t8_pb|5.033003||Viu
NPOSIXA_tb|5.035004||Viu
NPOSIXA_tb_p8|5.033003||Viu
NPOSIXA_tb_pb|5.033003||Viu
NPOSIXD|5.017003||Viu

xs/const/ppport.h  view on Meta::CPAN

WHILEM_B_min_tb|5.035004||Viu
WHILEM_B_min_tb_p8|5.033003||Viu
WHILEM_B_min_tb_pb|5.033003||Viu
WHILEM_t8|5.035004||Viu
WHILEM_t8_p8|5.033003||Viu
WHILEM_t8_pb|5.033003||Viu
WHILEM_tb|5.035004||Viu
WHILEM_tb_p8|5.033003||Viu
WHILEM_tb_pb|5.033003||Viu
WIDEST_UTYPE|5.015004|5.003007|poVnu
win32_croak_not_implemented|5.017006||Vniu
WIN32SCK_IS_STDSCK|5.007001||Viu
win32_setlocale|5.027006||Viu
withinCOUNT|5.031004||Viu
withinCOUNT_KNOWN_VALID|5.033005||Viu
WITH_LC_NUMERIC_SET_TO_NEEDED|5.031003|5.031003|
WITH_LC_NUMERIC_SET_TO_NEEDED_IN|5.031003|5.031003|
with_queued_errors|5.013001||Viu
with_tp_UTF8ness|5.033003||Viu
with_t_UTF8ness|5.035004||Viu
wrap_keyword_plugin|5.027006|5.027006|x

xs/const/ppport.h  view on Meta::CPAN


#if ! defined(PERL_REVISION) && ! defined(PERL_VERSION_MAJOR)
#  if   !   defined(__PATCHLEVEL_H_INCLUDED__)                                  \
     && ! ( defined(PATCHLEVEL) && defined(SUBVERSION))
#    define PERL_PATCHLEVEL_H_IMPLICIT
#    include <patchlevel.h>
#  endif
#  if     ! defined(PERL_VERSION)                                               \
     &&   ! defined(PERL_VERSION_MAJOR)                                         \
     && ( ! defined(SUBVERSION) || ! defined(PATCHLEVEL) )
#    include <could_not_find_Perl_patchlevel.h>
#  endif
#endif

#ifdef PERL_VERSION_MAJOR
#  define D_PPP_MAJOR  PERL_VERSION_MAJOR
#elif defined(PERL_REVISION)
#  define D_PPP_MAJOR  PERL_REVISION
#else
#  define D_PPP_MAJOR  5
#endif

xs/doubly/ppport.h  view on Meta::CPAN

ASCII_TO_NATIVE|5.007001||Viu
ASCII_TO_NEED|5.019004||dcVnu
asctime|5.009000||Viu
ASCTIME_R_PROTO|5.008000|5.008000|Vn
assert|5.003007||Viu
__ASSERT_|5.019007|5.008008|p
ASSERT_CURPAD_ACTIVE|5.008001||Viu
ASSERT_CURPAD_LEGAL|5.008001||Viu
ASSERT_IS_LITERAL|||Viu
ASSERT_IS_PTR|||Viu
assert_not_glob|5.009004||Viu
ASSERT_NOT_PTR|5.035004||Viu
assert_not_ROK|5.008001||Viu
assert_uft8_cache_coherent|5.013003||Viu
assignment_type|5.021005||Viu
ASSUME|5.019006|5.003007|p
atfork_lock|5.007003|5.007003|nu
atfork_unlock|5.007003|5.007003|nu
aTHX|5.006000|5.003007|p
aTHX_|5.006000|5.003007|p
aTHXa|5.017006||Viu
aTHXo|5.006000||Viu
aTHXR||5.003007|ponu

xs/doubly/ppport.h  view on Meta::CPAN

NONDESTRUCT_PAT_MODS|5.013002||Viu
NON_OTHER_COUNT|5.033005||Viu
NONV|||Viu
no_op|5.003007||Viu
NOOP|5.005000|5.003007|p
noperl_die|5.021006||vVniu
NORETURN_FUNCTION_END|5.009003||Viu
NORMAL|5.003007||Viu
NOSTR|5.027010||Viu
NO_TAINT_SUPPORT|5.017006||Viu
not_a_number|5.005000||Viu
NOTE3|5.027001||Viu
NOTHING|5.003007||Viu
NOTHING_t8|5.035004||Viu
NOTHING_t8_p8|5.033003||Viu
NOTHING_t8_pb|5.033003||Viu
NOTHING_tb|5.035004||Viu
NOTHING_tb_p8|5.033003||Viu
NOTHING_tb_pb|5.033003||Viu
nothreadhook|5.008000|5.008000|
notify_parser_that_changed_to_utf8|5.025010||Viu
not_incrementable|5.021002||Viu
NOT_IN_PAD|5.005000||Viu
NOT_REACHED|5.019006|5.003007|poVnu
NPOSIXA|5.017003||Viu
NPOSIXA_t8|5.035004||Viu
NPOSIXA_t8_p8|5.033003||Viu
NPOSIXA_t8_pb|5.033003||Viu
NPOSIXA_tb|5.035004||Viu
NPOSIXA_tb_p8|5.033003||Viu
NPOSIXA_tb_pb|5.033003||Viu
NPOSIXD|5.017003||Viu

xs/doubly/ppport.h  view on Meta::CPAN

WHILEM_B_min_tb|5.035004||Viu
WHILEM_B_min_tb_p8|5.033003||Viu
WHILEM_B_min_tb_pb|5.033003||Viu
WHILEM_t8|5.035004||Viu
WHILEM_t8_p8|5.033003||Viu
WHILEM_t8_pb|5.033003||Viu
WHILEM_tb|5.035004||Viu
WHILEM_tb_p8|5.033003||Viu
WHILEM_tb_pb|5.033003||Viu
WIDEST_UTYPE|5.015004|5.003007|poVnu
win32_croak_not_implemented|5.017006||Vniu
WIN32SCK_IS_STDSCK|5.007001||Viu
win32_setlocale|5.027006||Viu
withinCOUNT|5.031004||Viu
withinCOUNT_KNOWN_VALID|5.033005||Viu
WITH_LC_NUMERIC_SET_TO_NEEDED|5.031003|5.031003|
WITH_LC_NUMERIC_SET_TO_NEEDED_IN|5.031003|5.031003|
with_queued_errors|5.013001||Viu
with_tp_UTF8ness|5.033003||Viu
with_t_UTF8ness|5.035004||Viu
wrap_keyword_plugin|5.027006|5.027006|x

xs/doubly/ppport.h  view on Meta::CPAN


#if ! defined(PERL_REVISION) && ! defined(PERL_VERSION_MAJOR)
#  if   !   defined(__PATCHLEVEL_H_INCLUDED__)                                  \
     && ! ( defined(PATCHLEVEL) && defined(SUBVERSION))
#    define PERL_PATCHLEVEL_H_IMPLICIT
#    include <patchlevel.h>
#  endif
#  if     ! defined(PERL_VERSION)                                               \
     &&   ! defined(PERL_VERSION_MAJOR)                                         \
     && ( ! defined(SUBVERSION) || ! defined(PATCHLEVEL) )
#    include <could_not_find_Perl_patchlevel.h>
#  endif
#endif

#ifdef PERL_VERSION_MAJOR
#  define D_PPP_MAJOR  PERL_VERSION_MAJOR
#elif defined(PERL_REVISION)
#  define D_PPP_MAJOR  PERL_REVISION
#else
#  define D_PPP_MAJOR  5
#endif

xs/file/file.c  view on Meta::CPAN

    const char *s = SvPV(line, len);
    STRLEN i;
    for (i = 0; i < len; i++) {
        if (s[i] != ' ' && s[i] != '\t' && s[i] != '\r' && s[i] != '\n') {
            return FALSE;
        }
    }
    return TRUE;
}

static bool pred_is_not_blank(pTHX_ SV *line) {
    return !pred_is_blank(aTHX_ line);
}

static bool pred_is_empty(pTHX_ SV *line) {
    return SvCUR(line) == 0;
}

static bool pred_is_not_empty(pTHX_ SV *line) {
    return SvCUR(line) > 0;
}

static bool pred_is_comment(pTHX_ SV *line) {
    STRLEN len;
    const char *s = SvPV(line, len);
    /* Skip leading whitespace */
    while (len > 0 && (*s == ' ' || *s == '\t')) {
        s++;
        len--;
    }
    return len > 0 && *s == '#';
}

static bool pred_is_not_comment(pTHX_ SV *line) {
    return !pred_is_comment(aTHX_ line);
}

/* Cleanup callback registry during global destruction */
static void file_cleanup_callback_registry(pTHX_ void *data) {
    PERL_UNUSED_ARG(data);

    /* During global destruction, just NULL out pointers.
     * Perl handles SV cleanup; trying to free them ourselves
     * can cause crashes due to destruction order. */

xs/file/file.c  view on Meta::CPAN


    /* Register built-in predicates with both naming conventions */
    /* blank / is_blank */
    Newxz(cb, 1, FileLineCallback);
    cb->predicate = pred_is_blank;
    cb->perl_callback = NULL;
    sv = newSViv(PTR2IV(cb));
    hv_store(g_file_callback_registry, "blank", 5, sv, 0);
    hv_store(g_file_callback_registry, "is_blank", 8, SvREFCNT_inc(sv), 0);

    /* not_blank / is_not_blank */
    Newxz(cb, 1, FileLineCallback);
    cb->predicate = pred_is_not_blank;
    cb->perl_callback = NULL;
    sv = newSViv(PTR2IV(cb));
    hv_store(g_file_callback_registry, "not_blank", 9, sv, 0);
    hv_store(g_file_callback_registry, "is_not_blank", 12, SvREFCNT_inc(sv), 0);

    /* empty / is_empty */
    Newxz(cb, 1, FileLineCallback);
    cb->predicate = pred_is_empty;
    cb->perl_callback = NULL;
    sv = newSViv(PTR2IV(cb));
    hv_store(g_file_callback_registry, "empty", 5, sv, 0);
    hv_store(g_file_callback_registry, "is_empty", 8, SvREFCNT_inc(sv), 0);

    /* not_empty / is_not_empty */
    Newxz(cb, 1, FileLineCallback);
    cb->predicate = pred_is_not_empty;
    cb->perl_callback = NULL;
    sv = newSViv(PTR2IV(cb));
    hv_store(g_file_callback_registry, "not_empty", 9, sv, 0);
    hv_store(g_file_callback_registry, "is_not_empty", 12, SvREFCNT_inc(sv), 0);

    /* comment / is_comment */
    Newxz(cb, 1, FileLineCallback);
    cb->predicate = pred_is_comment;
    cb->perl_callback = NULL;
    sv = newSViv(PTR2IV(cb));
    hv_store(g_file_callback_registry, "comment", 7, sv, 0);
    hv_store(g_file_callback_registry, "is_comment", 10, SvREFCNT_inc(sv), 0);

    /* not_comment / is_not_comment */
    Newxz(cb, 1, FileLineCallback);
    cb->predicate = pred_is_not_comment;
    cb->perl_callback = NULL;
    sv = newSViv(PTR2IV(cb));
    hv_store(g_file_callback_registry, "not_comment", 11, sv, 0);
    hv_store(g_file_callback_registry, "is_not_comment", 14, SvREFCNT_inc(sv), 0);
}

static FileLineCallback* file_get_callback(pTHX_ const char *name) {
    SV **svp;
    if (!g_file_callback_registry) return NULL;
    svp = hv_fetch(g_file_callback_registry, name, strlen(name), 0);
    if (svp && SvIOK(*svp)) {
        return INT2PTR(FileLineCallback*, SvIVX(*svp));
    }
    return NULL;

xs/file/ppport.h  view on Meta::CPAN

ASCII_TO_NATIVE|5.007001||Viu
ASCII_TO_NEED|5.019004||dcVnu
asctime|5.009000||Viu
ASCTIME_R_PROTO|5.008000|5.008000|Vn
assert|5.003007||Viu
__ASSERT_|5.019007|5.008008|p
ASSERT_CURPAD_ACTIVE|5.008001||Viu
ASSERT_CURPAD_LEGAL|5.008001||Viu
ASSERT_IS_LITERAL|||Viu
ASSERT_IS_PTR|||Viu
assert_not_glob|5.009004||Viu
ASSERT_NOT_PTR|5.035004||Viu
assert_not_ROK|5.008001||Viu
assert_uft8_cache_coherent|5.013003||Viu
assignment_type|5.021005||Viu
ASSUME|5.019006|5.003007|p
atfork_lock|5.007003|5.007003|nu
atfork_unlock|5.007003|5.007003|nu
aTHX|5.006000|5.003007|p
aTHX_|5.006000|5.003007|p
aTHXa|5.017006||Viu
aTHXo|5.006000||Viu
aTHXR||5.003007|ponu

xs/file/ppport.h  view on Meta::CPAN

NONDESTRUCT_PAT_MODS|5.013002||Viu
NON_OTHER_COUNT|5.033005||Viu
NONV|||Viu
no_op|5.003007||Viu
NOOP|5.005000|5.003007|p
noperl_die|5.021006||vVniu
NORETURN_FUNCTION_END|5.009003||Viu
NORMAL|5.003007||Viu
NOSTR|5.027010||Viu
NO_TAINT_SUPPORT|5.017006||Viu
not_a_number|5.005000||Viu
NOTE3|5.027001||Viu
NOTHING|5.003007||Viu
NOTHING_t8|5.035004||Viu
NOTHING_t8_p8|5.033003||Viu
NOTHING_t8_pb|5.033003||Viu
NOTHING_tb|5.035004||Viu
NOTHING_tb_p8|5.033003||Viu
NOTHING_tb_pb|5.033003||Viu
nothreadhook|5.008000|5.008000|
notify_parser_that_changed_to_utf8|5.025010||Viu
not_incrementable|5.021002||Viu
NOT_IN_PAD|5.005000||Viu
NOT_REACHED|5.019006|5.003007|poVnu
NPOSIXA|5.017003||Viu
NPOSIXA_t8|5.035004||Viu
NPOSIXA_t8_p8|5.033003||Viu
NPOSIXA_t8_pb|5.033003||Viu
NPOSIXA_tb|5.035004||Viu
NPOSIXA_tb_p8|5.033003||Viu
NPOSIXA_tb_pb|5.033003||Viu
NPOSIXD|5.017003||Viu

xs/file/ppport.h  view on Meta::CPAN

WHILEM_B_min_tb|5.035004||Viu
WHILEM_B_min_tb_p8|5.033003||Viu
WHILEM_B_min_tb_pb|5.033003||Viu
WHILEM_t8|5.035004||Viu
WHILEM_t8_p8|5.033003||Viu
WHILEM_t8_pb|5.033003||Viu
WHILEM_tb|5.035004||Viu
WHILEM_tb_p8|5.033003||Viu
WHILEM_tb_pb|5.033003||Viu
WIDEST_UTYPE|5.015004|5.003007|poVnu
win32_croak_not_implemented|5.017006||Vniu
WIN32SCK_IS_STDSCK|5.007001||Viu
win32_setlocale|5.027006||Viu
withinCOUNT|5.031004||Viu
withinCOUNT_KNOWN_VALID|5.033005||Viu
WITH_LC_NUMERIC_SET_TO_NEEDED|5.031003|5.031003|
WITH_LC_NUMERIC_SET_TO_NEEDED_IN|5.031003|5.031003|
with_queued_errors|5.013001||Viu
with_tp_UTF8ness|5.033003||Viu
with_t_UTF8ness|5.035004||Viu
wrap_keyword_plugin|5.027006|5.027006|x

xs/file/ppport.h  view on Meta::CPAN


#if ! defined(PERL_REVISION) && ! defined(PERL_VERSION_MAJOR)
#  if   !   defined(__PATCHLEVEL_H_INCLUDED__)                                  \
     && ! ( defined(PATCHLEVEL) && defined(SUBVERSION))
#    define PERL_PATCHLEVEL_H_IMPLICIT
#    include <patchlevel.h>
#  endif
#  if     ! defined(PERL_VERSION)                                               \
     &&   ! defined(PERL_VERSION_MAJOR)                                         \
     && ( ! defined(SUBVERSION) || ! defined(PATCHLEVEL) )
#    include <could_not_find_Perl_patchlevel.h>
#  endif
#endif

#ifdef PERL_VERSION_MAJOR
#  define D_PPP_MAJOR  PERL_VERSION_MAJOR
#elif defined(PERL_REVISION)
#  define D_PPP_MAJOR  PERL_REVISION
#else
#  define D_PPP_MAJOR  5
#endif

xs/heap/ppport.h  view on Meta::CPAN

ASCII_TO_NATIVE|5.007001||Viu
ASCII_TO_NEED|5.019004||dcVnu
asctime|5.009000||Viu
ASCTIME_R_PROTO|5.008000|5.008000|Vn
assert|5.003007||Viu
__ASSERT_|5.019007|5.008008|p
ASSERT_CURPAD_ACTIVE|5.008001||Viu
ASSERT_CURPAD_LEGAL|5.008001||Viu
ASSERT_IS_LITERAL|||Viu
ASSERT_IS_PTR|||Viu
assert_not_glob|5.009004||Viu
ASSERT_NOT_PTR|5.035004||Viu
assert_not_ROK|5.008001||Viu
assert_uft8_cache_coherent|5.013003||Viu
assignment_type|5.021005||Viu
ASSUME|5.019006|5.003007|p
atfork_lock|5.007003|5.007003|nu
atfork_unlock|5.007003|5.007003|nu
aTHX|5.006000|5.003007|p
aTHX_|5.006000|5.003007|p
aTHXa|5.017006||Viu
aTHXo|5.006000||Viu
aTHXR||5.003007|ponu

xs/heap/ppport.h  view on Meta::CPAN

NONDESTRUCT_PAT_MODS|5.013002||Viu
NON_OTHER_COUNT|5.033005||Viu
NONV|||Viu
no_op|5.003007||Viu
NOOP|5.005000|5.003007|p
noperl_die|5.021006||vVniu
NORETURN_FUNCTION_END|5.009003||Viu
NORMAL|5.003007||Viu
NOSTR|5.027010||Viu
NO_TAINT_SUPPORT|5.017006||Viu
not_a_number|5.005000||Viu
NOTE3|5.027001||Viu
NOTHING|5.003007||Viu
NOTHING_t8|5.035004||Viu
NOTHING_t8_p8|5.033003||Viu
NOTHING_t8_pb|5.033003||Viu
NOTHING_tb|5.035004||Viu
NOTHING_tb_p8|5.033003||Viu
NOTHING_tb_pb|5.033003||Viu
nothreadhook|5.008000|5.008000|
notify_parser_that_changed_to_utf8|5.025010||Viu
not_incrementable|5.021002||Viu
NOT_IN_PAD|5.005000||Viu
NOT_REACHED|5.019006|5.003007|poVnu
NPOSIXA|5.017003||Viu
NPOSIXA_t8|5.035004||Viu
NPOSIXA_t8_p8|5.033003||Viu
NPOSIXA_t8_pb|5.033003||Viu
NPOSIXA_tb|5.035004||Viu
NPOSIXA_tb_p8|5.033003||Viu
NPOSIXA_tb_pb|5.033003||Viu
NPOSIXD|5.017003||Viu

xs/heap/ppport.h  view on Meta::CPAN

WHILEM_B_min_tb|5.035004||Viu
WHILEM_B_min_tb_p8|5.033003||Viu
WHILEM_B_min_tb_pb|5.033003||Viu
WHILEM_t8|5.035004||Viu
WHILEM_t8_p8|5.033003||Viu
WHILEM_t8_pb|5.033003||Viu
WHILEM_tb|5.035004||Viu
WHILEM_tb_p8|5.033003||Viu
WHILEM_tb_pb|5.033003||Viu
WIDEST_UTYPE|5.015004|5.003007|poVnu
win32_croak_not_implemented|5.017006||Vniu
WIN32SCK_IS_STDSCK|5.007001||Viu
win32_setlocale|5.027006||Viu
withinCOUNT|5.031004||Viu
withinCOUNT_KNOWN_VALID|5.033005||Viu
WITH_LC_NUMERIC_SET_TO_NEEDED|5.031003|5.031003|
WITH_LC_NUMERIC_SET_TO_NEEDED_IN|5.031003|5.031003|
with_queued_errors|5.013001||Viu
with_tp_UTF8ness|5.033003||Viu
with_t_UTF8ness|5.035004||Viu
wrap_keyword_plugin|5.027006|5.027006|x

xs/heap/ppport.h  view on Meta::CPAN


#if ! defined(PERL_REVISION) && ! defined(PERL_VERSION_MAJOR)
#  if   !   defined(__PATCHLEVEL_H_INCLUDED__)                                  \
     && ! ( defined(PATCHLEVEL) && defined(SUBVERSION))
#    define PERL_PATCHLEVEL_H_IMPLICIT
#    include <patchlevel.h>
#  endif
#  if     ! defined(PERL_VERSION)                                               \
     &&   ! defined(PERL_VERSION_MAJOR)                                         \
     && ( ! defined(SUBVERSION) || ! defined(PATCHLEVEL) )
#    include <could_not_find_Perl_patchlevel.h>
#  endif
#endif

#ifdef PERL_VERSION_MAJOR
#  define D_PPP_MAJOR  PERL_VERSION_MAJOR
#elif defined(PERL_REVISION)
#  define D_PPP_MAJOR  PERL_REVISION
#else
#  define D_PPP_MAJOR  5
#endif

xs/lru/ppport.h  view on Meta::CPAN

ASCII_TO_NATIVE|5.007001||Viu
ASCII_TO_NEED|5.019004||dcVnu
asctime|5.009000||Viu
ASCTIME_R_PROTO|5.008000|5.008000|Vn
assert|5.003007||Viu
__ASSERT_|5.019007|5.008008|p
ASSERT_CURPAD_ACTIVE|5.008001||Viu
ASSERT_CURPAD_LEGAL|5.008001||Viu
ASSERT_IS_LITERAL|||Viu
ASSERT_IS_PTR|||Viu
assert_not_glob|5.009004||Viu
ASSERT_NOT_PTR|5.035004||Viu
assert_not_ROK|5.008001||Viu
assert_uft8_cache_coherent|5.013003||Viu
assignment_type|5.021005||Viu
ASSUME|5.019006|5.003007|p
atfork_lock|5.007003|5.007003|nu
atfork_unlock|5.007003|5.007003|nu
aTHX|5.006000|5.003007|p
aTHX_|5.006000|5.003007|p
aTHXa|5.017006||Viu
aTHXo|5.006000||Viu
aTHXR||5.003007|ponu

xs/lru/ppport.h  view on Meta::CPAN

NONDESTRUCT_PAT_MODS|5.013002||Viu
NON_OTHER_COUNT|5.033005||Viu
NONV|||Viu
no_op|5.003007||Viu
NOOP|5.005000|5.003007|p
noperl_die|5.021006||vVniu
NORETURN_FUNCTION_END|5.009003||Viu
NORMAL|5.003007||Viu
NOSTR|5.027010||Viu
NO_TAINT_SUPPORT|5.017006||Viu
not_a_number|5.005000||Viu
NOTE3|5.027001||Viu
NOTHING|5.003007||Viu
NOTHING_t8|5.035004||Viu
NOTHING_t8_p8|5.033003||Viu
NOTHING_t8_pb|5.033003||Viu
NOTHING_tb|5.035004||Viu
NOTHING_tb_p8|5.033003||Viu
NOTHING_tb_pb|5.033003||Viu
nothreadhook|5.008000|5.008000|
notify_parser_that_changed_to_utf8|5.025010||Viu
not_incrementable|5.021002||Viu
NOT_IN_PAD|5.005000||Viu
NOT_REACHED|5.019006|5.003007|poVnu
NPOSIXA|5.017003||Viu
NPOSIXA_t8|5.035004||Viu
NPOSIXA_t8_p8|5.033003||Viu
NPOSIXA_t8_pb|5.033003||Viu
NPOSIXA_tb|5.035004||Viu
NPOSIXA_tb_p8|5.033003||Viu
NPOSIXA_tb_pb|5.033003||Viu
NPOSIXD|5.017003||Viu

xs/lru/ppport.h  view on Meta::CPAN

WHILEM_B_min_tb|5.035004||Viu
WHILEM_B_min_tb_p8|5.033003||Viu
WHILEM_B_min_tb_pb|5.033003||Viu
WHILEM_t8|5.035004||Viu
WHILEM_t8_p8|5.033003||Viu
WHILEM_t8_pb|5.033003||Viu
WHILEM_tb|5.035004||Viu
WHILEM_tb_p8|5.033003||Viu
WHILEM_tb_pb|5.033003||Viu
WIDEST_UTYPE|5.015004|5.003007|poVnu
win32_croak_not_implemented|5.017006||Vniu
WIN32SCK_IS_STDSCK|5.007001||Viu
win32_setlocale|5.027006||Viu
withinCOUNT|5.031004||Viu
withinCOUNT_KNOWN_VALID|5.033005||Viu
WITH_LC_NUMERIC_SET_TO_NEEDED|5.031003|5.031003|
WITH_LC_NUMERIC_SET_TO_NEEDED_IN|5.031003|5.031003|
with_queued_errors|5.013001||Viu
with_tp_UTF8ness|5.033003||Viu
with_t_UTF8ness|5.035004||Viu
wrap_keyword_plugin|5.027006|5.027006|x

xs/lru/ppport.h  view on Meta::CPAN


#if ! defined(PERL_REVISION) && ! defined(PERL_VERSION_MAJOR)
#  if   !   defined(__PATCHLEVEL_H_INCLUDED__)                                  \
     && ! ( defined(PATCHLEVEL) && defined(SUBVERSION))
#    define PERL_PATCHLEVEL_H_IMPLICIT
#    include <patchlevel.h>
#  endif
#  if     ! defined(PERL_VERSION)                                               \
     &&   ! defined(PERL_VERSION_MAJOR)                                         \
     && ( ! defined(SUBVERSION) || ! defined(PATCHLEVEL) )
#    include <could_not_find_Perl_patchlevel.h>
#  endif
#endif

#ifdef PERL_VERSION_MAJOR
#  define D_PPP_MAJOR  PERL_VERSION_MAJOR
#elif defined(PERL_REVISION)
#  define D_PPP_MAJOR  PERL_REVISION
#else
#  define D_PPP_MAJOR  5
#endif

xs/noop/ppport.h  view on Meta::CPAN

ASCII_TO_NATIVE|5.007001||Viu
ASCII_TO_NEED|5.019004||dcVnu
asctime|5.009000||Viu
ASCTIME_R_PROTO|5.008000|5.008000|Vn
assert|5.003007||Viu
__ASSERT_|5.019007|5.008008|p
ASSERT_CURPAD_ACTIVE|5.008001||Viu
ASSERT_CURPAD_LEGAL|5.008001||Viu
ASSERT_IS_LITERAL|||Viu
ASSERT_IS_PTR|||Viu
assert_not_glob|5.009004||Viu
ASSERT_NOT_PTR|5.035004||Viu
assert_not_ROK|5.008001||Viu
assert_uft8_cache_coherent|5.013003||Viu
assignment_type|5.021005||Viu
ASSUME|5.019006|5.003007|p
atfork_lock|5.007003|5.007003|nu
atfork_unlock|5.007003|5.007003|nu
aTHX|5.006000|5.003007|p
aTHX_|5.006000|5.003007|p
aTHXa|5.017006||Viu
aTHXo|5.006000||Viu
aTHXR||5.003007|ponu

xs/noop/ppport.h  view on Meta::CPAN

NONDESTRUCT_PAT_MODS|5.013002||Viu
NON_OTHER_COUNT|5.033005||Viu
NONV|||Viu
no_op|5.003007||Viu
NOOP|5.005000|5.003007|p
noperl_die|5.021006||vVniu
NORETURN_FUNCTION_END|5.009003||Viu
NORMAL|5.003007||Viu
NOSTR|5.027010||Viu
NO_TAINT_SUPPORT|5.017006||Viu
not_a_number|5.005000||Viu
NOTE3|5.027001||Viu
NOTHING|5.003007||Viu
NOTHING_t8|5.035004||Viu
NOTHING_t8_p8|5.033003||Viu
NOTHING_t8_pb|5.033003||Viu
NOTHING_tb|5.035004||Viu
NOTHING_tb_p8|5.033003||Viu
NOTHING_tb_pb|5.033003||Viu
nothreadhook|5.008000|5.008000|
notify_parser_that_changed_to_utf8|5.025010||Viu
not_incrementable|5.021002||Viu
NOT_IN_PAD|5.005000||Viu
NOT_REACHED|5.019006|5.003007|poVnu
NPOSIXA|5.017003||Viu
NPOSIXA_t8|5.035004||Viu
NPOSIXA_t8_p8|5.033003||Viu
NPOSIXA_t8_pb|5.033003||Viu
NPOSIXA_tb|5.035004||Viu
NPOSIXA_tb_p8|5.033003||Viu
NPOSIXA_tb_pb|5.033003||Viu
NPOSIXD|5.017003||Viu

xs/noop/ppport.h  view on Meta::CPAN

WHILEM_B_min_tb|5.035004||Viu
WHILEM_B_min_tb_p8|5.033003||Viu
WHILEM_B_min_tb_pb|5.033003||Viu
WHILEM_t8|5.035004||Viu
WHILEM_t8_p8|5.033003||Viu
WHILEM_t8_pb|5.033003||Viu
WHILEM_tb|5.035004||Viu
WHILEM_tb_p8|5.033003||Viu
WHILEM_tb_pb|5.033003||Viu
WIDEST_UTYPE|5.015004|5.003007|poVnu
win32_croak_not_implemented|5.017006||Vniu
WIN32SCK_IS_STDSCK|5.007001||Viu
win32_setlocale|5.027006||Viu
withinCOUNT|5.031004||Viu
withinCOUNT_KNOWN_VALID|5.033005||Viu
WITH_LC_NUMERIC_SET_TO_NEEDED|5.031003|5.031003|
WITH_LC_NUMERIC_SET_TO_NEEDED_IN|5.031003|5.031003|
with_queued_errors|5.013001||Viu
with_tp_UTF8ness|5.033003||Viu
with_t_UTF8ness|5.035004||Viu
wrap_keyword_plugin|5.027006|5.027006|x

xs/noop/ppport.h  view on Meta::CPAN


#if ! defined(PERL_REVISION) && ! defined(PERL_VERSION_MAJOR)
#  if   !   defined(__PATCHLEVEL_H_INCLUDED__)                                  \
     && ! ( defined(PATCHLEVEL) && defined(SUBVERSION))
#    define PERL_PATCHLEVEL_H_IMPLICIT
#    include <patchlevel.h>
#  endif
#  if     ! defined(PERL_VERSION)                                               \
     &&   ! defined(PERL_VERSION_MAJOR)                                         \
     && ( ! defined(SUBVERSION) || ! defined(PATCHLEVEL) )
#    include <could_not_find_Perl_patchlevel.h>
#  endif
#endif

#ifdef PERL_VERSION_MAJOR
#  define D_PPP_MAJOR  PERL_VERSION_MAJOR
#elif defined(PERL_REVISION)
#  define D_PPP_MAJOR  PERL_REVISION
#else
#  define D_PPP_MAJOR  5
#endif

xs/nvec/ppport.h  view on Meta::CPAN

ASCII_TO_NATIVE|5.007001||Viu
ASCII_TO_NEED|5.019004||dcVnu
asctime|5.009000||Viu
ASCTIME_R_PROTO|5.008000|5.008000|Vn
assert|5.003007||Viu
__ASSERT_|5.019007|5.008008|p
ASSERT_CURPAD_ACTIVE|5.008001||Viu
ASSERT_CURPAD_LEGAL|5.008001||Viu
ASSERT_IS_LITERAL|||Viu
ASSERT_IS_PTR|||Viu
assert_not_glob|5.009004||Viu
ASSERT_NOT_PTR|5.035004||Viu
assert_not_ROK|5.008001||Viu
assert_uft8_cache_coherent|5.013003||Viu
assignment_type|5.021005||Viu
ASSUME|5.019006|5.003007|p
atfork_lock|5.007003|5.007003|nu
atfork_unlock|5.007003|5.007003|nu
aTHX|5.006000|5.003007|p
aTHX_|5.006000|5.003007|p
aTHXa|5.017006||Viu
aTHXo|5.006000||Viu
aTHXR||5.003007|ponu

xs/nvec/ppport.h  view on Meta::CPAN

NONDESTRUCT_PAT_MODS|5.013002||Viu
NON_OTHER_COUNT|5.033005||Viu
NONV|||Viu
no_op|5.003007||Viu
NOOP|5.005000|5.003007|p
noperl_die|5.021006||vVniu
NORETURN_FUNCTION_END|5.009003||Viu
NORMAL|5.003007||Viu
NOSTR|5.027010||Viu
NO_TAINT_SUPPORT|5.017006||Viu
not_a_number|5.005000||Viu
NOTE3|5.027001||Viu
NOTHING|5.003007||Viu
NOTHING_t8|5.035004||Viu
NOTHING_t8_p8|5.033003||Viu
NOTHING_t8_pb|5.033003||Viu
NOTHING_tb|5.035004||Viu
NOTHING_tb_p8|5.033003||Viu
NOTHING_tb_pb|5.033003||Viu
nothreadhook|5.008000|5.008000|
notify_parser_that_changed_to_utf8|5.025010||Viu
not_incrementable|5.021002||Viu
NOT_IN_PAD|5.005000||Viu
NOT_REACHED|5.019006|5.003007|poVnu
NPOSIXA|5.017003||Viu
NPOSIXA_t8|5.035004||Viu
NPOSIXA_t8_p8|5.033003||Viu
NPOSIXA_t8_pb|5.033003||Viu
NPOSIXA_tb|5.035004||Viu
NPOSIXA_tb_p8|5.033003||Viu
NPOSIXA_tb_pb|5.033003||Viu
NPOSIXD|5.017003||Viu

xs/nvec/ppport.h  view on Meta::CPAN

WHILEM_B_min_tb|5.035004||Viu
WHILEM_B_min_tb_p8|5.033003||Viu
WHILEM_B_min_tb_pb|5.033003||Viu
WHILEM_t8|5.035004||Viu
WHILEM_t8_p8|5.033003||Viu
WHILEM_t8_pb|5.033003||Viu
WHILEM_tb|5.035004||Viu
WHILEM_tb_p8|5.033003||Viu
WHILEM_tb_pb|5.033003||Viu
WIDEST_UTYPE|5.015004|5.003007|poVnu
win32_croak_not_implemented|5.017006||Vniu
WIN32SCK_IS_STDSCK|5.007001||Viu
win32_setlocale|5.027006||Viu
withinCOUNT|5.031004||Viu
withinCOUNT_KNOWN_VALID|5.033005||Viu
WITH_LC_NUMERIC_SET_TO_NEEDED|5.031003|5.031003|
WITH_LC_NUMERIC_SET_TO_NEEDED_IN|5.031003|5.031003|
with_queued_errors|5.013001||Viu
with_tp_UTF8ness|5.033003||Viu
with_t_UTF8ness|5.035004||Viu
wrap_keyword_plugin|5.027006|5.027006|x

xs/nvec/ppport.h  view on Meta::CPAN


#if ! defined(PERL_REVISION) && ! defined(PERL_VERSION_MAJOR)
#  if   !   defined(__PATCHLEVEL_H_INCLUDED__)                                  \
     && ! ( defined(PATCHLEVEL) && defined(SUBVERSION))
#    define PERL_PATCHLEVEL_H_IMPLICIT
#    include <patchlevel.h>
#  endif
#  if     ! defined(PERL_VERSION)                                               \
     &&   ! defined(PERL_VERSION_MAJOR)                                         \
     && ( ! defined(SUBVERSION) || ! defined(PATCHLEVEL) )
#    include <could_not_find_Perl_patchlevel.h>
#  endif
#endif

#ifdef PERL_VERSION_MAJOR
#  define D_PPP_MAJOR  PERL_VERSION_MAJOR
#elif defined(PERL_REVISION)
#  define D_PPP_MAJOR  PERL_REVISION
#else
#  define D_PPP_MAJOR  5
#endif

xs/object/ppport.h  view on Meta::CPAN

ASCII_TO_NATIVE|5.007001||Viu
ASCII_TO_NEED|5.019004||dcVnu
asctime|5.009000||Viu
ASCTIME_R_PROTO|5.008000|5.008000|Vn
assert|5.003007||Viu
__ASSERT_|5.019007|5.008008|p
ASSERT_CURPAD_ACTIVE|5.008001||Viu
ASSERT_CURPAD_LEGAL|5.008001||Viu
ASSERT_IS_LITERAL|||Viu
ASSERT_IS_PTR|||Viu
assert_not_glob|5.009004||Viu
ASSERT_NOT_PTR|5.035004||Viu
assert_not_ROK|5.008001||Viu
assert_uft8_cache_coherent|5.013003||Viu
assignment_type|5.021005||Viu
ASSUME|5.019006|5.003007|p
atfork_lock|5.007003|5.007003|nu
atfork_unlock|5.007003|5.007003|nu
aTHX|5.006000|5.003007|p
aTHX_|5.006000|5.003007|p
aTHXa|5.017006||Viu
aTHXo|5.006000||Viu
aTHXR||5.003007|ponu

xs/object/ppport.h  view on Meta::CPAN

NONDESTRUCT_PAT_MODS|5.013002||Viu
NON_OTHER_COUNT|5.033005||Viu
NONV|||Viu
no_op|5.003007||Viu
NOOP|5.005000|5.003007|p
noperl_die|5.021006||vVniu
NORETURN_FUNCTION_END|5.009003||Viu
NORMAL|5.003007||Viu
NOSTR|5.027010||Viu
NO_TAINT_SUPPORT|5.017006||Viu
not_a_number|5.005000||Viu
NOTE3|5.027001||Viu
NOTHING|5.003007||Viu
NOTHING_t8|5.035004||Viu
NOTHING_t8_p8|5.033003||Viu
NOTHING_t8_pb|5.033003||Viu
NOTHING_tb|5.035004||Viu
NOTHING_tb_p8|5.033003||Viu
NOTHING_tb_pb|5.033003||Viu
nothreadhook|5.008000|5.008000|
notify_parser_that_changed_to_utf8|5.025010||Viu
not_incrementable|5.021002||Viu
NOT_IN_PAD|5.005000||Viu
NOT_REACHED|5.019006|5.003007|poVnu
NPOSIXA|5.017003||Viu
NPOSIXA_t8|5.035004||Viu
NPOSIXA_t8_p8|5.033003||Viu
NPOSIXA_t8_pb|5.033003||Viu
NPOSIXA_tb|5.035004||Viu
NPOSIXA_tb_p8|5.033003||Viu
NPOSIXA_tb_pb|5.033003||Viu
NPOSIXD|5.017003||Viu

xs/object/ppport.h  view on Meta::CPAN

WHILEM_B_min_tb|5.035004||Viu
WHILEM_B_min_tb_p8|5.033003||Viu
WHILEM_B_min_tb_pb|5.033003||Viu
WHILEM_t8|5.035004||Viu
WHILEM_t8_p8|5.033003||Viu
WHILEM_t8_pb|5.033003||Viu
WHILEM_tb|5.035004||Viu
WHILEM_tb_p8|5.033003||Viu
WHILEM_tb_pb|5.033003||Viu
WIDEST_UTYPE|5.015004|5.003007|poVnu
win32_croak_not_implemented|5.017006||Vniu
WIN32SCK_IS_STDSCK|5.007001||Viu
win32_setlocale|5.027006||Viu
withinCOUNT|5.031004||Viu
withinCOUNT_KNOWN_VALID|5.033005||Viu
WITH_LC_NUMERIC_SET_TO_NEEDED|5.031003|5.031003|
WITH_LC_NUMERIC_SET_TO_NEEDED_IN|5.031003|5.031003|
with_queued_errors|5.013001||Viu
with_tp_UTF8ness|5.033003||Viu
with_t_UTF8ness|5.035004||Viu
wrap_keyword_plugin|5.027006|5.027006|x

xs/object/ppport.h  view on Meta::CPAN


#if ! defined(PERL_REVISION) && ! defined(PERL_VERSION_MAJOR)
#  if   !   defined(__PATCHLEVEL_H_INCLUDED__)                                  \
     && ! ( defined(PATCHLEVEL) && defined(SUBVERSION))
#    define PERL_PATCHLEVEL_H_IMPLICIT
#    include <patchlevel.h>
#  endif
#  if     ! defined(PERL_VERSION)                                               \
     &&   ! defined(PERL_VERSION_MAJOR)                                         \
     && ( ! defined(SUBVERSION) || ! defined(PATCHLEVEL) )
#    include <could_not_find_Perl_patchlevel.h>
#  endif
#endif

#ifdef PERL_VERSION_MAJOR
#  define D_PPP_MAJOR  PERL_VERSION_MAJOR
#elif defined(PERL_REVISION)
#  define D_PPP_MAJOR  PERL_REVISION
#else
#  define D_PPP_MAJOR  5
#endif

xs/ppport.h  view on Meta::CPAN

ASCII_TO_NATIVE|5.007001||Viu
ASCII_TO_NEED|5.019004||dcVnu
asctime|5.009000||Viu
ASCTIME_R_PROTO|5.008000|5.008000|Vn
assert|5.003007||Viu
__ASSERT_|5.019007|5.008008|p
ASSERT_CURPAD_ACTIVE|5.008001||Viu
ASSERT_CURPAD_LEGAL|5.008001||Viu
ASSERT_IS_LITERAL|||Viu
ASSERT_IS_PTR|||Viu
assert_not_glob|5.009004||Viu
ASSERT_NOT_PTR|5.035004||Viu
assert_not_ROK|5.008001||Viu
assert_uft8_cache_coherent|5.013003||Viu
assignment_type|5.021005||Viu
ASSUME|5.019006|5.003007|p
atfork_lock|5.007003|5.007003|nu
atfork_unlock|5.007003|5.007003|nu
aTHX|5.006000|5.003007|p
aTHX_|5.006000|5.003007|p
aTHXa|5.017006||Viu
aTHXo|5.006000||Viu
aTHXR||5.003007|ponu

xs/ppport.h  view on Meta::CPAN

NONDESTRUCT_PAT_MODS|5.013002||Viu
NON_OTHER_COUNT|5.033005||Viu
NONV|||Viu
no_op|5.003007||Viu
NOOP|5.005000|5.003007|p
noperl_die|5.021006||vVniu
NORETURN_FUNCTION_END|5.009003||Viu
NORMAL|5.003007||Viu
NOSTR|5.027010||Viu
NO_TAINT_SUPPORT|5.017006||Viu
not_a_number|5.005000||Viu
NOTE3|5.027001||Viu
NOTHING|5.003007||Viu
NOTHING_t8|5.035004||Viu
NOTHING_t8_p8|5.033003||Viu
NOTHING_t8_pb|5.033003||Viu
NOTHING_tb|5.035004||Viu
NOTHING_tb_p8|5.033003||Viu
NOTHING_tb_pb|5.033003||Viu
nothreadhook|5.008000|5.008000|
notify_parser_that_changed_to_utf8|5.025010||Viu
not_incrementable|5.021002||Viu
NOT_IN_PAD|5.005000||Viu
NOT_REACHED|5.019006|5.003007|poVnu
NPOSIXA|5.017003||Viu
NPOSIXA_t8|5.035004||Viu
NPOSIXA_t8_p8|5.033003||Viu
NPOSIXA_t8_pb|5.033003||Viu
NPOSIXA_tb|5.035004||Viu
NPOSIXA_tb_p8|5.033003||Viu
NPOSIXA_tb_pb|5.033003||Viu
NPOSIXD|5.017003||Viu

xs/ppport.h  view on Meta::CPAN

WHILEM_B_min_tb|5.035004||Viu
WHILEM_B_min_tb_p8|5.033003||Viu
WHILEM_B_min_tb_pb|5.033003||Viu
WHILEM_t8|5.035004||Viu
WHILEM_t8_p8|5.033003||Viu
WHILEM_t8_pb|5.033003||Viu
WHILEM_tb|5.035004||Viu
WHILEM_tb_p8|5.033003||Viu
WHILEM_tb_pb|5.033003||Viu
WIDEST_UTYPE|5.015004|5.003007|poVnu
win32_croak_not_implemented|5.017006||Vniu
WIN32SCK_IS_STDSCK|5.007001||Viu
win32_setlocale|5.027006||Viu
withinCOUNT|5.031004||Viu
withinCOUNT_KNOWN_VALID|5.033005||Viu
WITH_LC_NUMERIC_SET_TO_NEEDED|5.031003|5.031003|
WITH_LC_NUMERIC_SET_TO_NEEDED_IN|5.031003|5.031003|
with_queued_errors|5.013001||Viu
with_tp_UTF8ness|5.033003||Viu
with_t_UTF8ness|5.035004||Viu
wrap_keyword_plugin|5.027006|5.027006|x

xs/ppport.h  view on Meta::CPAN


#if ! defined(PERL_REVISION) && ! defined(PERL_VERSION_MAJOR)
#  if   !   defined(__PATCHLEVEL_H_INCLUDED__)                                  \
     && ! ( defined(PATCHLEVEL) && defined(SUBVERSION))
#    define PERL_PATCHLEVEL_H_IMPLICIT
#    include <patchlevel.h>
#  endif
#  if     ! defined(PERL_VERSION)                                               \
     &&   ! defined(PERL_VERSION_MAJOR)                                         \
     && ( ! defined(SUBVERSION) || ! defined(PATCHLEVEL) )
#    include <could_not_find_Perl_patchlevel.h>
#  endif
#endif

#ifdef PERL_VERSION_MAJOR
#  define D_PPP_MAJOR  PERL_VERSION_MAJOR
#elif defined(PERL_REVISION)
#  define D_PPP_MAJOR  PERL_REVISION
#else
#  define D_PPP_MAJOR  5
#endif

xs/slot/ppport.h  view on Meta::CPAN

ASCII_TO_NATIVE|5.007001||Viu
ASCII_TO_NEED|5.019004||dcVnu
asctime|5.009000||Viu
ASCTIME_R_PROTO|5.008000|5.008000|Vn
assert|5.003007||Viu
__ASSERT_|5.019007|5.008008|p
ASSERT_CURPAD_ACTIVE|5.008001||Viu
ASSERT_CURPAD_LEGAL|5.008001||Viu
ASSERT_IS_LITERAL|||Viu
ASSERT_IS_PTR|||Viu
assert_not_glob|5.009004||Viu
ASSERT_NOT_PTR|5.035004||Viu
assert_not_ROK|5.008001||Viu
assert_uft8_cache_coherent|5.013003||Viu
assignment_type|5.021005||Viu
ASSUME|5.019006|5.003007|p
atfork_lock|5.007003|5.007003|nu
atfork_unlock|5.007003|5.007003|nu
aTHX|5.006000|5.003007|p
aTHX_|5.006000|5.003007|p
aTHXa|5.017006||Viu
aTHXo|5.006000||Viu
aTHXR||5.003007|ponu

xs/slot/ppport.h  view on Meta::CPAN

NONDESTRUCT_PAT_MODS|5.013002||Viu
NON_OTHER_COUNT|5.033005||Viu
NONV|||Viu
no_op|5.003007||Viu
NOOP|5.005000|5.003007|p
noperl_die|5.021006||vVniu
NORETURN_FUNCTION_END|5.009003||Viu
NORMAL|5.003007||Viu
NOSTR|5.027010||Viu
NO_TAINT_SUPPORT|5.017006||Viu
not_a_number|5.005000||Viu
NOTE3|5.027001||Viu
NOTHING|5.003007||Viu
NOTHING_t8|5.035004||Viu
NOTHING_t8_p8|5.033003||Viu
NOTHING_t8_pb|5.033003||Viu
NOTHING_tb|5.035004||Viu
NOTHING_tb_p8|5.033003||Viu
NOTHING_tb_pb|5.033003||Viu
nothreadhook|5.008000|5.008000|
notify_parser_that_changed_to_utf8|5.025010||Viu
not_incrementable|5.021002||Viu
NOT_IN_PAD|5.005000||Viu
NOT_REACHED|5.019006|5.003007|poVnu
NPOSIXA|5.017003||Viu
NPOSIXA_t8|5.035004||Viu
NPOSIXA_t8_p8|5.033003||Viu
NPOSIXA_t8_pb|5.033003||Viu
NPOSIXA_tb|5.035004||Viu
NPOSIXA_tb_p8|5.033003||Viu
NPOSIXA_tb_pb|5.033003||Viu
NPOSIXD|5.017003||Viu

xs/slot/ppport.h  view on Meta::CPAN

WHILEM_B_min_tb|5.035004||Viu
WHILEM_B_min_tb_p8|5.033003||Viu
WHILEM_B_min_tb_pb|5.033003||Viu
WHILEM_t8|5.035004||Viu
WHILEM_t8_p8|5.033003||Viu
WHILEM_t8_pb|5.033003||Viu
WHILEM_tb|5.035004||Viu
WHILEM_tb_p8|5.033003||Viu
WHILEM_tb_pb|5.033003||Viu
WIDEST_UTYPE|5.015004|5.003007|poVnu
win32_croak_not_implemented|5.017006||Vniu
WIN32SCK_IS_STDSCK|5.007001||Viu
win32_setlocale|5.027006||Viu
withinCOUNT|5.031004||Viu
withinCOUNT_KNOWN_VALID|5.033005||Viu
WITH_LC_NUMERIC_SET_TO_NEEDED|5.031003|5.031003|
WITH_LC_NUMERIC_SET_TO_NEEDED_IN|5.031003|5.031003|
with_queued_errors|5.013001||Viu
with_tp_UTF8ness|5.033003||Viu
with_t_UTF8ness|5.035004||Viu
wrap_keyword_plugin|5.027006|5.027006|x

xs/slot/ppport.h  view on Meta::CPAN


#if ! defined(PERL_REVISION) && ! defined(PERL_VERSION_MAJOR)
#  if   !   defined(__PATCHLEVEL_H_INCLUDED__)                                  \
     && ! ( defined(PATCHLEVEL) && defined(SUBVERSION))
#    define PERL_PATCHLEVEL_H_IMPLICIT
#    include <patchlevel.h>
#  endif
#  if     ! defined(PERL_VERSION)                                               \
     &&   ! defined(PERL_VERSION_MAJOR)                                         \
     && ( ! defined(SUBVERSION) || ! defined(PATCHLEVEL) )
#    include <could_not_find_Perl_patchlevel.h>
#  endif
#endif

#ifdef PERL_VERSION_MAJOR
#  define D_PPP_MAJOR  PERL_VERSION_MAJOR
#elif defined(PERL_REVISION)
#  define D_PPP_MAJOR  PERL_REVISION
#else
#  define D_PPP_MAJOR  5
#endif

xs/util/ppport.h  view on Meta::CPAN

new_stackinfo||5.005000|
new_version||5.009000|
new_warnings_bitfield|||
next_symbol|||
nextargv|||
nextchar|||
ninstr|||
no_bareword_allowed|||
no_fh_allowed|||
no_op|||
not_a_number|||
nothreadhook||5.008000|
nuke_stacks|||
num_overflow|||n
offer_nice_chunk|||
oopsAV|||
oopsHV|||
op_clear|||
op_const_sv|||
op_dump||5.006000|
op_free|||

xs/util/ppport.h  view on Meta::CPAN


#define DPPP_CAT2(x,y) CAT2(x,y)
#define DPPP_(name) DPPP_CAT2(DPPP_NAMESPACE, name)

#ifndef PERL_REVISION
#  if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))
#    define PERL_PATCHLEVEL_H_IMPLICIT
#    include <patchlevel.h>
#  endif
#  if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))
#    include <could_not_find_Perl_patchlevel.h>
#  endif
#  ifndef PERL_REVISION
#    define PERL_REVISION       (5)
     /* Replace: 1 */
#    define PERL_VERSION        PATCHLEVEL
#    define PERL_SUBVERSION     SUBVERSION
     /* Replace PERL_PATCHLEVEL with PERL_VERSION */
     /* Replace: 0 */
#  endif
#endif



( run in 1.628 second using v1.01-cache-2.11-cpan-df04353d9ac )