if (eval {require 'Text/LevenshteinXS.pm'}) { Text::LevenshteinXS::import('distance'); } elsif (eval {require 'Text/Levenshtein.pm'}) { Text::Levenshtein::import('distance'); } else { *distance = \&myDistanceSub; }