s/\G(.{1,80})/$1\n/gs;
print;
####
use Benchmark qw(cmpthese);
open(STDERR,">/dev/null");
cmpthese (10000,
{
match => sub { local $_ = "abcde " x 100;
print STDERR "$1\n" while /\G(.{1,80})/gs;
},
swap => sub { local $_ = "abcde " x 100;
s/\G(.{1,80})/$1\n/gs;
print STDERR $_;
},
});
####
Benchmark: timing 10000 iterations of match, swap...
match: 1 wallclock secs ( 1.26 usr + 0.01 sys = 1.27 CPU) @ 7874.02/s (n=10000)
swap: 1 wallclock secs ( 1.01 usr + 0.01 sys = 1.02 CPU) @ 9803.92/s (n=10000)
Rate match swap
match 7874/s -- -20%
swap 9804/s 25% --