#!/usr/bin/perl use strict; use warnings; use Benchmark qw(cmpthese); my $count = -100; cmpthese($count, { 'Split' => sub { my $document; open(FILE, 'removed.xml') or die "Error [$!]\n"; while () { $document .= $_ } my @lines = split('\|',$document); }, 'IRS_while' => sub { local $/ = '|'; my @lines; open(FILE, 'removed.xml') or die "Error [$!]\n"; while () { chomp; push @lines, $_; } }, 'IRS_map' => sub { local $/ = '|'; open(FILE, 'removed.xml') or die "Error [$!]\n"; my @lines = map {chomp; $_} (); }, }); #### Rate IRS_map IRS_while Split IRS_map 4936/s -- -7% -8% IRS_while 5303/s 7% -- -2% Split 5394/s 9% 2% --