#! /usr/bin/perl # vim:ts=4 sw=4 sts=4 et nu fdc=3: use strict; use warnings; use Benchmark qw( cmpthese ); my $date1 = '2010-08-24'; # my $date2 = '2009-13-22'; # invalid date, but who cares #> sub routines #> ---------------------------------------------------------------------------- sub strcmp1 { my ($d1,$d2,$p,$l) = @_; substr($d1,$p,$l) ne substr($d2,$p,$l) } #> main script #> ---------------------------------------------------------------------------- cmpthese( -1, { direct => sub { substr($date1,5,5) ne substr($date2,5,5) }, regex => sub { ($date1=~/^.....(.{5})/)[0] ne ($date2=~/^.....(.{5})/)[0] }, sub1 => sub { strcmp1($date1,$date2,5,5) }, }); __END__