#!/usr/bin/perl use strict; use warnings; use Benchmark qw(cmpthese); my $count = 8000; my @array = (3.14) x 1000; sub want { return wantarray ? @array : scalar @array; } sub nowant { return @array; } cmpthese($count*50, { "scalar_want" => sub { my $test = want() }, "scalar_nowant" => sub { my $test = nowant() }, } ); cmpthese($count, { "array_want" => sub { my @test = want() }, "array_nowant" => sub { my @test = nowant() }, } ); #### Rate scalar_want scalar_nowant scalar_want 740741/s -- -15% scalar_nowant 869565/s 17% -- Rate array_want array_nowant array_want 2778/s -- -1% array_nowant 2797/s 1% --