# before.pl use strict; use warnings; use Benchmark 'cmpthese'; my $sz = ( shift || 10 ) - 4; my $X = 'N' . 'x' x $sz . '000'; my $Y = 'N' . 'x' x $sz . '001'; print '# input length: ', length( $X ), $/; cmpthese( -1, { '?!X' => '$X =~ /^N(?!.*00$).*$/', '?!Y' => '$Y =~ /^N(?!.*00$).*$/', '? '$X =~ /^N.*(? '$Y =~ /^N.*(? '$X =~ /^N(?!.*00$).*$/', '?!Y' => '$Y =~ /^N(?!.*00$).*$/', '? '$X =~ /^N.*(? '$Y =~ /^N.*(?## % perl before.pl 7 # input length: 7 Rate ?