#!/usr/bin/env perl use strict; use warnings; use autodie; use constant { LINES => 20_000, RECORD => 'X' x 100 . "\n", }; use Benchmark 'cmpthese'; open my $fh, '>>', '/dev/null'; cmpthese 0 => { singly => sub { print $fh RECORD for 1 .. LINES; }, concat => sub { print $fh join '', (RECORD) x LINES; }, list => sub { print $fh +(RECORD) x LINES; }, string => sub { print $fh RECORD x LINES; }, };