#!/usr/bin/perl use Benchmark qw(cmpthese); use List::Util qw(max); @a = qw(35 73 745 23 85); @a = (@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,@a,); cmpthese(-1, { "max" => sub { my $max = max @a }, "linear" => sub { my $max = $a[0]; for (@a) { $max = $_ if $_ > $max; } }, "sort" => sub { my $max = (sort{$a <=> $b} @a)[-1]; } } );