Use case-insensitive match
if ($x =~ /^$y$/i) {
#whatever
}
In my benchmark the two methods take substantially the same time.
Rudif
#! perl -w
use strict;
use Benchmark;
my $x='The Monastery Gates';
my $y='http://www.perlmonks.org/';
timethese(1000000,{eq=>sub{ if (lc $x eq lc $y) {} }, re=>sub{ if ($x
+=~ /^$y$/i) {} }})
__END__
Benchmark: timing 1000000 iterations of a, b...
eq: 1 wallclock secs ( 1.12 usr + 0.00 sys = 1.12 CPU) @ 8
+91265.60/s (n=1000000)
re: 2 wallclock secs ( 1.06 usr + 0.00 sys = 1.06 CPU) @ 9
+79431.93/s (n=1000000)