#!/usr/bin/perl
use strict;
use warnings;
use Benchmark;
use POSIX qw/strftime/;
my %subs = (
strftime => sub {
strftime "%Y-%m-%d %H:%M:%S", localtime;
},
sprintf => sub {
my ($s, $m, $h, $D, $M, $Y) = localtime;
$Y += 1900;
$M++;
sprintf "%4d-%02d-%02d %02d:%02d:%02d",
$Y, $M, $D, $h, $m, $s;
},
);
print "$_: ", $subs{$_}(), "\n" for keys %subs;
Benchmark::cmpthese -1, \%subs;