#!/perl/bin/perl # # bench.pl -- use strict; use warnings; use diagnostics; use Benchmark qw(:all); my $str = '|0' x (shift @ARGV || 100_000); sub caseone { $_ = $str; s/.//; } sub casetwo { $_ = $str; substr($_,0,1) = ''; } sub casethree { $_ = $str; $_ = reverse $_; chop; $_ = reverse $_; } sub casefour { $_ = $str; $_ = substr($_,1); } cmpthese(-2, { 'regex' => 'caseone', 'substr_mod' => 'casetwo', 'reverse' => 'casethree', 'susbtr_copy' => 'casefour', });