#!/usr/bin/perl -w use strict; use Benchmark qw( cmpthese ); my $string = "1234567890"; my $new; cmpthese( 0, { "reverse" => sub { $new = scalar reverse( sprintf "%012s", scalar reverse( $string ) ) }, # "regex" => sub { $new = sprintf( "%-12d", $string ) =~ s/ /0/gr }, "regexOld" => sub { ( $new = sprintf( qq( %-12d ), $string ) ) =~ s/ /0/g }, "length" => sub { $new = $string . 0 x ( 12 - length( $string ) ) }, "mult" => sub { $new = $string * 10 ** ( 12 - length( $string ) ) }, } );