#! perl -w use Benchmark qw(:all); use 5.010; my $s = "123 foo"; my $n = "123 "; cmpthese -1, { clean => sub { return "$n"<=>100 }, local => sub { local $^W; return "$s"<=>100 }, lexical => sub { no warnings 'numeric'; return "$s"<=>100 }, capture => sub { my($x)= $s =~ /(\d+)/; return $x<=>100 }, suppress => sub { (my $x = $s)=~s/ .*//; return $x<=>100 }, substr => sub { return substr($s, 0, index $s, ' ')<=>100 }, };