Commit | Line | Data |
635c7876 |
1 | #!/usr/local/bin/perl |
2 | |
3 | use strict ; |
4 | |
5 | use Benchmark qw( timethese cmpthese ) ; |
6 | |
7 | my $dur = shift || -2 ; |
8 | |
9 | my $data = 'abc' x 30 . "\n" x 1000 ; |
10 | |
11 | my $sep = $/ ; |
12 | |
13 | # my $result = timethese( $dur, { |
14 | # split => 'my @lines = splitter()', |
15 | # regex => 'my @lines = regex()', |
16 | # damian => 'my @lines = damian()', |
17 | # } ) ; |
18 | |
19 | # cmpthese( $result ) ; |
20 | |
21 | $data = "abcdefgh\n\n\n" x 5 ; |
22 | $data = "abcdefgh\n" x 2 . 'z' ; |
23 | |
24 | $data = '' ; |
25 | |
26 | #$sep = '\n\n+' ; |
27 | $sep = '\n' ; |
28 | |
29 | my @paras ; |
30 | |
31 | @paras = regex() ; |
32 | print "REG\n", map "[$_]\n", @paras ; |
33 | |
34 | #@paras = damian() ; |
35 | #print "DAM\n", map "[$_]\n", @paras ; |
36 | |
37 | sub splitter { split( m|(?<=$sep)|, $data ) } |
38 | sub regex { $data =~ /(.*?$sep|.*)/sg } |
39 | sub damian { $data =~ /.*?(?:$sep|\Z)/gs } |
40 | |
41 | |
42 | exit ; |