Perl-Lint

 view release on metacpan or  search on metacpan

lib/Perl/Lint/Keywords.pm  view on Meta::CPAN

package Perl::Lint::Keywords;
use strict;
use warnings;
use B::Keywords;
use parent qw/Exporter/;
our @EXPORT = qw/
    is_perl_builtin
    is_perl_builtin_which_provide_list_context
    is_perl_builtin_which_take_multiple_arguments
    is_perl_bareword
    is_perl_pragma
/;

my %builtin_func_map;
for my $func (@B::Keywords::Functions) {
    $builtin_func_map{$func} = 1;
}

my %bareword_map;
for my $bareword (@B::Keywords::Barewords) {
    $bareword_map{$bareword} = 1;
}

# perldoc -uT perlfunc | grep '=item.*LIST' | sed 's/(//' | awk '{print $2 " => 1,"}' | uniq
my %builtin_func_which_provide_list_context_map = (
    chmod    => 1,
    chomp    => 1,
    chop     => 1,
    chown    => 1,
    die      => 1,
    do       => 1,
    exec     => 1,
    formline => 1,
    grep     => 1,
    import   => 1,
    join     => 1,
    kill     => 1,
    map      => 1,
    no       => 1,
    open     => 1,
    pack     => 1,
    print    => 1,
    printf   => 1,
    push     => 1,
    reverse  => 1,
    say      => 1,
    sort     => 1,
    splice   => 1,
    sprintf  => 1,
    syscall  => 1,
    system   => 1,
    tie      => 1,
    unlink   => 1,
    unshift  => 1,
    use      => 1,
    utime    => 1,
    warn     => 1,
);

# perldoc -uT perlfunc | grep '=item.*[A-Z],' | awk '{print $2 " => 1,"}' | uniq
my %builtin_func_which_take_multiple_arguments_map = (
    accept        => 1,
    atan2         => 1,
    bind          => 1,
    binmode       => 1,
    bless         => 1,
    connect       => 1,
    crypt         => 1,
    dbmopen       => 1,
    fcntl         => 1,
    flock         => 1,
    formline      => 1,
    getpriority   => 1,
    getservbyname => 1,
    gethostbyaddr => 1,
    getnetbyaddr  => 1,
    getservbyport => 1,
    getsockopt    => 1,
    grep          => 1,
    index         => 1,
    ioctl         => 1,
    join          => 1,
    kill          => 1,
    link          => 1,
    listen        => 1,
    map           => 1,
    mkdir         => 1,
    msgctl        => 1,
    msgget        => 1,



( run in 0.365 second using v1.01-cache-2.11-cpan-5511b514fd6 )