#!/usr/bin/perl use common::sense; use Benchmark qw(cmpthese); my @N = qw(1230.1200 10332.0120 1200 153.56); cmpthese(-1, { 'single-splat' => sub { my @n = @N; for (@n) { s/(\.\d*?)0*$/$1/; } }, 'single' => sub { my @n = @N; for (@n) { s/(\.\d*?)0+$/$1/; } }, 'conditional' => sub { my @n = @N; for (@n) { s/0+$// if /\./; } }, 'conditional2' => sub { my @n = @N; for (@n) { s/0+$// if /\.\d+$/; } }, });