changed
[urisagit/File-Slurp.git] / experiment / split.pl
CommitLineData
635c7876 1#!/usr/local/bin/perl
2
3use strict ;
4
5use Benchmark qw( timethese cmpthese ) ;
6
7my $dur = shift || -2 ;
8
9my $data = 'abc' x 30 . "\n" x 1000 ;
10
11my $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
29my @paras ;
30
31@paras = regex() ;
32print "REG\n", map "[$_]\n", @paras ;
33
34#@paras = damian() ;
35#print "DAM\n", map "[$_]\n", @paras ;
36
37sub splitter { split( m|(?<=$sep)|, $data ) }
38sub regex { $data =~ /(.*?$sep|.*)/sg }
39sub damian { $data =~ /.*?(?:$sep|\Z)/gs }
40
41
42exit ;