PPR
view release on metacpan or search on metacpan
bin/gen_builtin_expr.pl view on Meta::CPAN
#! /usr/bin/env perl
use 5.022;
use warnings;
use experimentals;
use Regexp::Optimizer;
my @builtins;
my $builtins_regex = join '|', reverse sort @builtins;
$builtins_regex = qr{$builtins_regex};
my $optimized_regex = Regexp::Optimizer->new->optimize($builtins_regex);
say $optimized_regex;
#use Benchmark qw( cmpthese );
#
#say $];
#cmpthese 100000, {
# std => sub { for (@builtins) { m/$builtins_regex/ or die } },
# opt => sub { for (@builtins) { m/$optimized_regex/ or die } },
#};
BEGIN {
@builtins = (
'abs',
'accept',
'alarm',
'atan2',
'bind',
'binmode',
'bless',
'break',
'caller',
'chdir',
'chmod',
'chomp',
'chop',
'chown',
'chr',
'chroot',
'close',
'closedir',
'connect',
'continue',
'cos',
'crypt',
'dbmclose',
'dbmopen',
# 'default',
'defined',
'delete',
'die',
'do',
'dump',
'each',
'endgrent',
'endhostent',
'endnetent',
'endprotoent',
'endpwent',
'endservent',
'eof',
'eval',
'evalbytes',
'exec',
'exists',
'exit',
'exp',
'fc',
'fcntl',
'fileno',
'flock',
'fork',
'format',
'formline',
'getc',
'getgrent',
'getgrgid',
'getgrnam',
'gethostbyaddr',
'gethostbyname',
'gethostent',
'getlogin',
'getnetbyaddr',
'getnetbyname',
'getnetent',
'getpeername',
'getpgrp',
'getppid',
'getpriority',
'getprotobyname',
'getprotobynumber',
'getprotoent',
'getpwent',
'getpwnam',
'getpwuid',
'getservbyname',
'getservbyport',
( run in 1.428 second using v1.01-cache-2.11-cpan-71847e10f99 )