#! perl -slw
use strict;
use re 'eval'; #! <<< ADD THIS LINE
use My::Filter;
my ($short_line_threshold, $short_line_counter, $long_line_threshold) = (40,2,50);
my $data = q[
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
];
my $tmp;
for (1..1000) {
$tmp = $data;
$tmp =~ s/((?:\s*(?:.{1,$short_line_threshold})<\/line>\s*){$short_line_counter,})(\s*(?:.{$long_line_threshold,}?)<\/line>)/$1<\/para>$2/gs;
}
print $tmp;
print '=' x 20, 'Timing of regexs in ', $0, '=' x 20;
print My::Filter::report();
__END__
C:\test>testmyfilter
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
====================Timing of regexs in C:\test\testMyFilter.pl====================
2000 trials of ((?:\s*(?:.{1,$short_line_threshold})\s*){$short_line_counter,})(\s*(?:.{$long_line_threshold,}?)<
/line>)
(460.000ms total), 230us/trial