bannor:~/work/perl/monks$ cat 962552.pl #!/usr/bin/env perl use Modern::Perl; use Benchmark qw(:all); cmpthese( 10_000_000, { 'return it' => \&returnit, 'print it' => \&printit, }); # printing to STDERR so I can redirect to /dev/null # and still see the benchmark results sub returnit { print STDERR _returnit(); } sub _returnit { 'foo'; } sub printit { _printit(); } sub _printit { print STDERR 'foo'; } bannor:~/work/perl/monks$ perl 962552.pl 2>/dev/null Rate return it print it return it 1298701/s -- -24% print it 1703578/s 31% --