Fauxtobox

 view release on metacpan or  search on metacpan

lib/Fauxtobox.pm  view on Meta::CPAN

    $^V ge v5.14.0 ? (
        s_r  => eval_string('sub { ref($_[2]) ? $_[0] =~ s/$_[1]/$_[2]()/re  : $_[0] =~ s/$_[1]/$_[2]/r  }'),
        s_gr => eval_string('sub { ref($_[2]) ? $_[0] =~ s/$_[1]/$_[2]()/gre : $_[0] =~ s/$_[1]/$_[2]/gr }'),
    ) : (
        s_r  => sub { my $s = $_[0]; if (ref $_[2]) { $s =~ s/$_[1]/$_[2]()/e  } else { $s =~ s/$_[1]/$_[2]/  } $s },
        s_gr => sub { my $s = $_[0]; if (ref $_[2]) { $s =~ s/$_[1]/$_[2]()/ge } else { $s =~ s/$_[1]/$_[2]/g } $s },
    ),

    (map _filetest($_), qw(
        r w x o
        R W X O
        e z s
        f d l p S b c t
        u g k
        T B
        M A C
    )),

    _scalar('abs'),
    _scalar('alarm'),
    _fixed(2, 'atan2'),
    bless => defined &CORE::bless ? \&CORE::bless : sub { bless $_[0], @_ > 1 ? $_[1] : scalar caller },
    _scalar('chdir'),
    _xlist(1, 'chmod'),
    _xlist(0, 'chomp'),
    _xlist(0, 'chop'),
    _xlist(2, 'chown'),
    _scalar('chr'),
    _scalar('chroot'),
    _scalar('cos'),
    _fixed(2, 'crypt'),
    defined => sub { defined $_[0] },
    delete => sub {
        ref($_[0]) eq 'ARRAY' ?
            delete $_[0][$_[1]] :
            delete $_[0]{$_[1]}
    },
    _scalar('die'),
    _hxa('each'),
    eval => sub { eval $_[0] },
    exec => sub {
        my $prog = shift;
        @_ ? exec { $prog } @_ :
        ref($prog) eq 'ARRAY' ? exec @$prog :
        exec $prog
    },
    exists => sub {
        ref($_[0]) eq 'ARRAY' ?
            exists $_[0][$_[1]] :
            exists $_[0]{$_[1]}
    },
    _scalar('exit'),
    _scalar('exp'),
    $^V ge v5.16.0 ? (fc => \&CORE::fc) : (),
    _scalar('getpgrp'),
    _scalar('getpwnam'),
    _scalar('getgrnam'),
    _scalar('gethostbyname'),
    _scalar('getnetbyname'),
    _scalar('getprotobyname'),
    _scalar('getpwuid'),
    _scalar('getgrgid'),
    _fixed(2, 'getservbyname'),
    _fixed(2, 'gethostbyaddr'),
    _fixed(2, 'getnetbyaddr'),
    _scalar('getprotobynumber'),
    _fixed(2, 'getservbyport'),
    glob => sub { [ glob $_[0] ] },
    _scalar('gmtime'),
    grep => sub { my ($arg, $f) = @_; [ grep $f->($_), @$arg ] },
    _scalar('hex'),
    _fixed_opt(2, 1, 'index'),
    _scalar('int'),
    join => sub { join $_[1], @{$_[0]} },
    _hxa('keys'),
    _xlist(1, 'kill'),
    _scalar('lc'),
    _scalar('lcfirst'),
    _scalar('length'),
    _fixed(2, 'link'),
    _scalar('localtime'),
    _scalar('log'),
    _scalar('lstat'),
    map => sub { my ($arg, $f) = @_; [ map $f->($_), @$arg ] },
    _scalar('mkdir'),
    _scalar('oct'),
    _scalar('ord'),
    _xlist(1, 'pack'),
    pop => sub { pop @{$_[0]} },
    pos => sub :lvalue { @_ > 1 ? pos($_[0]) = $_[1] : pos($_[0]) },
    _scalar('prototype'),
    push => sub { my $arg = shift; push @$arg, @_ },
    _scalar('quotemeta'),
    _scalar('rand'),
    _scalar('readlink'),
    _scalar('ref'),
    _fixed(2, 'rename'),
    _scalar('require'),
    reverse => sub { ref($_[0]) eq 'ARRAY' ? [ reverse @{$_[0]} ] : scalar reverse $_[0] },
    _fixed_opt(2, 1, 'rindex'),
    _scalar('rmdir'),
    shift => sub { shift @{$_[0]} },
    _scalar('sin'),
    _scalar('sleep'),
    sort => sub { [ @_ > 1 ? sort { $_[1]($a, $b) } @{$_[0]} : sort @{$_[0]} ] },
    splice => sub {
        my $arg = shift;
        return splice @$arg unless @_;
        my $offset = shift;
        return splice @$arg, $offset unless @_;
        my $length = shift;
        splice @$arg, $offset, $length, @_
    },
    split => sub { [ @_ > 2 ? split $_[1], $_[0], $_[2] : @_ > 1 ? split $_[1], $_[0] : split ' ', $_[0] ] },
    _xlist(1, 'sprintf'),
    _scalar('sqrt'),
    _scalar('srand'),
    _scalar('stat'),
    _fixed_opt(2, 2, 'substr'),
    _fixed(2, 'symlink'),
    syscall => sub { my $arg = shift; syscall $arg, @_ },

lib/Fauxtobox.pm  view on Meta::CPAN


C<< $X->$_exists($KEY) >> is equivalent to C<< exists $X->[$KEY] >> if C<$X>
is an array reference and C<< exists $X->{$KEY} >> otherwise.

See L<perlfunc/exists>.

=item $_exit

C<< $X->$_exit >> is equivalent to C<< exit $X >>.

See L<perlfunc/exit>.

=item $_exp

C<< $X->$_exp >> is equivalent to C<< exp $X >>.

See L<perlfunc/exp>.

=item $_fc

C<< $X->$_fc >> is equivalent to C<< fc $X >>.

See L<perlfunc/fc>.

=item $_getpgrp

C<< $X->$_getpgrp >> is equivalent to C<< getpgrp $X >>.

See L<perlfunc/getpgrp>.

=item $_getpwnam

C<< $X->$_getpwnam >> is equivalent to C<< getpwnam $X >>.

See L<perlfunc/getpwnam>.

=item $_getgrnam

C<< $X->$_getgrnam >> is equivalent to C<< getgrnam $X >>.

See L<perlfunc/getgrnam>.

=item $_gethostbyname

C<< $X->$_gethostbyname >> is equivalent to C<< gethostbyname $X >>.

See L<perlfunc/gethostbyname>.

=item $_getnetbyname

C<< $X->$_getnetbyname >> is equivalent to C<< getnetbyname $X >>.

See L<perlfunc/getnetbyname>.

=item $_getprotobyname

C<< $X->$_getprotobyname >> is equivalent to C<< getprotobyname $X >>.

See L<perlfunc/getprotobyname>.

=item $_getpwuid

C<< $X->$_getpwuid >> is equivalent to C<< getpwuid $X >>.

See L<perlfunc/getpwuid>.

=item $_getgrgid

C<< $X->$_getgrgid >> is equivalent to C<< getgrgid $X >>.

See L<perlfunc/getgrgid>.

=item $_getservbyname

C<< $X->$_getservbyname($Y) >> is equivalent to C<< getservbyname $X, $Y >>.

See L<perlfunc/getservbyname>.

=item $_gethostbyaddr

C<< $X->$_gethostbyaddr($Y) >> is equivalent to C<< gethostbyaddr $X, $Y >>.

See L<perlfunc/gethostbyaddr>.

=item $_getnetbyaddr

C<< $X->$_getnetbyaddr($Y) >> is equivalent to C<< getnetbyaddr $X, $Y >>.

See L<perlfunc/getnetbyaddr>.

=item $_getprotobynumber

C<< $X->$_getprotobynumber >> is equivalent to C<< getprotobynumber $X >>.

See L<perlfunc/getprotobynumber>.

=item $_getservbyport

C<< $X->$_getservbyport($Y) >> is equivalent to C<< getservbyport $X, $Y >>.

See L<perlfunc/getservbyport>.

=item $_glob

C<< $X->$_glob >> is equivalent to C<< [ glob $X ] >>, i.e. it returns an array
reference of results.

See L<perlfunc/glob>.

=item $_gmtime

C<< $X->$_gmtime >> is equivalent to C<< gmtime $X >>.

See L<perlfunc/gmtime>.

=item $_grep

C<< $X->$_grep($F) >> is equivalent to C<< [ grep $F->($_), @{$X} ] >>, i.e. it
takes and returns an array reference. The function C<$F> is passed the current
element as an argument.

See L<perlfunc/grep>.

=item $_hex



( run in 0.702 second using v1.01-cache-2.11-cpan-5735350b133 )