#!perl -w use strict; use Benchmark qw/ cmpthese /; my $x = 'The Monastery Gates'; my $y = 'ThE MoNaStErY GaTeS'; cmpthese(-(shift), { eq => sub{ if (lc $x eq lc $y) {} }, re => sub{ if ($x =~ /^$y$/i) {} }, } ) __END__ Benchmark: running eq, re, each for at least 3 CPU seconds... eq: 6 wallclock secs ( 3.04 usr + 0.01 sys = 3.05 CPU) @ 242974.43/s (n=741072) re: 8 wallclock secs ( 3.00 usr + 0.00 sys = 3.00 CPU) @ 86303.00/s (n=258909) Rate re eq re 86303/s -- -64% eq 242974/s 182% --