#!/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); return @lines; }, 'IRS_while' => sub { local $/ = '|'; my @lines; open(FILE, 'removed.xml') or die "Error [$!]\n"; while () { chomp; push @lines, $_; } return @lines; }, 'IRS_map' => sub { local $/ = '|'; open(FILE, 'removed.xml') or die "Error [$!]\n"; my @lines = map {chomp; $_} (); return @lines; }, }); #### Rate IRS_map Split IRS_while IRS_map 9804/s -- -24% -27% Split 12876/s 31% -- -4% IRS_while 13399/s 37% 4% -- #### This is perl 5, version 12, subversion 3 (v5.12.3) built for MSWin32-x86-multi-thread