当我将String::Approx应用于从数据库中获取的值时,它不会检查匹配的单词。
程序如下...
use String::Approx qw (amatch);
my @matches = qw();
my %matchhash = qw();
my @x=$search_keyword;
my $i=0;
my $j=0;
my $l=1;
my $qry1="SELECT * FROM AuctionCategoriesName";
my $prp1 = $dbh1->prepare($qry1);
$prp1->execute();
while(my $row1=$prp1->fetchrow_hashref())
{
$y=$row1->{'Name'};
@name="(['$y'])";
@match = grep { amatch (@x, @$_) } @name;
$cnt=$#match;
if($cnt < 1)
{
$matches[$i]=$match[0];
$i++;
}
}
与 db 的连接非常完美。
我想从 db 中的所有值中获取大致匹配的名称$row1->{'Name'}
。这些值必须保存在$matches[$i]
. 我将这些价值观称为:
foreach my $k (@matches) { print "$k <br/>" }