sub get_fuzzy_match_groupnames( $ ) { my @result_array; my $self = shift; my $dbh = $self->{'dbh'}; my @possibleMatchName; #holds the groupname #name not found do approximate string lookup my $sqlQuery = "SELECT GroupID, GroupName FROM GROUPINFORMATION WHERE UserID = 0 "; my $query = $dbh->prepare( $sqlQuery ); $query->execute() || die $dbh->errstr; while( @result_array = $query->fetchrow_array ) { push( @possibleMatchName, $result_array[1] ); } my %d; @d{@possibleMatchName} = map { abs } adistr( $_[0], @possibleMatchName ); my @d = sort { $d{$a} <=> $d{$b} } @possibleMatchName; if( length( @d ) > 20 ) { return @d[0..20]; } else { return @d; } }