#!/usr/local/bin/perl -slw use strict; use Benchmark qw[ cmpthese ]; our @a = qw/AA12 BB13 CC14 DD15/; our @b = qw/aa1 aa2 aa12 bb13/; sub regex { my @match; for my $i ( 0 .. $#a ) { for my $j ( 0 .. $#b ) { if ( $a[$i] =~ m/^$b[$j]$/i ) { push @match, "$i -> $j"; } } } return @match; } sub lccmp { my @match; for my $i ( 0 .. $#a ) { for my $j ( 0 .. $#b ) { if ( lc($a[$i]) eq lc($b[$j]) ) { push @match, "$i -> $j"; } } } return @match; } cmpthese -1, { lccmp => q[ lccmp() ], regex => q[ regex() ], };