in reply to Removing leading zeros

Looks like += 0 is the winner, sprintf is the loser and regex comes somewhere in the middle.
#! /usr/bin/perl -w use strict; use Benchmark; my $start = shift; timethese shift, { Add => sub { my $num = $start; $num += 0 }, Regex => sub { my $num = $start; $num =~ s/^0+// }, Sprintf => sub { my $num = $start; $num = sprintf '%d', $num }, };
% perl zero 0000000000000000000000123 2000000
Benchmark: timing 2000000 iterations of Add, Regex, Sprintf...
       Add: 10 wallclock secs ( 9.30 usr +  0.00 sys =  9.30 CPU)
     Regex: 10 wallclock secs (10.30 usr +  0.00 sys = 10.30 CPU)
   Sprintf: 15 wallclock secs (14.39 usr +  0.02 sys = 14.41 CPU)
% perl zero 0123 2000000
Benchmark: timing 2000000 iterations of Add, Regex, Sprintf...
       Add:  8 wallclock secs ( 8.77 usr +  0.00 sys =  8.77 CPU)
     Regex: 11 wallclock secs ( 9.88 usr +  0.00 sys =  9.88 CPU)
   Sprintf: 13 wallclock secs (11.95 usr +  0.00 sys = 11.95 CPU)


--
g r i n d e r