#!/usr/bin/perl use strict; use warnings; use Benchmark qw(:all); sub caller_scalar { my $s = stub_scalar(); } sub caller_ref { my $s = stub_ref(); } sub stub_scalar { my $string = 'aaaaaaaaaaaaaaaaaaaaaaaa' x 1000000; return $string } sub stub_ref { my $string = 'aaaaaaaaaaaaaaaaaaaaaaaa' x 1000000; return \$string } cmpthese( 1000, { 'ref' => \&caller_ref, 'scalar' => \&caller_scalar, } );