#!perl use 5.006; use strict; use warnings; use Benchmark qw(:all) ; use Data::Dumper; my $diffs = join(' ', (map { "$_:$_" } (0..49))); timethese( 50_000, { 'split' => sub { my $LCS = []; for my $diff ( split ' ', $diffs ) { my( $x, $y ) = split ':', $diff; #push @$LCS, [$x,$y]; } }, }); ############ ~/github/LCS-XS/xt$ perl split.t Benchmark: timing 50000 iterations of split... split: 2 wallclock secs ( 2.04 usr + 0.00 sys = 2.04 CPU) @ 24509.80/s (n=50000)