cleanup
[urisagit/Perl-Docs.git] / experiment / split.pl
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 ;