我正在尝试为我在 SourceForge 上托管的字典项目编写自动完成功能。 不幸的是,SF 上的 Perl 没有安装 JSON 模块。在不使用模块本身的情况下,我该如何解决这个问题?作为模特,我选择了JQuery UI automcomplete guide on jensbits .
这是应该查询文本并发送到自动完成模块的 Perl 代码
#!/usr/bin/perl
use strict;
use CGI;
use DBI;
use JSON;
# HTTP HEADER
print "Content-type: application/json; charset=iso-8859-1\n\n";
my $dbh = DBI->connect("DBI:mysql:database;mysql_read_default_file=/path/.my.cnf");
$dbh->do("set character set utf8");
$dbh->do("set names utf8");
my ($p, $sth, @query_output);
$p = new CGI;
my $term = $p->param('term');
$sth = $dbh->prepare(qq{SELECT trim(both char(13) FROM article) AS value, definition FROM dict WHERE article like ?;});
$sth->execute('%'.$term.'%');
# LOOP THROUGH RESULTS
while ( my $row = $sth->fetchrow_hashref ){
push @query_output, $row;
}
#CLOSE THE DATABASE CONNECTION
$dbh->disconnect()
# JSON OUTPUT
print JSON::to_json(\@query_output);
最佳答案
为什么不使用 local::lib 将模块安装到 SourceForge 上的用户目录中? ?
关于mysql - 如何在不使用 JSON 模块的情况下使用 Perl 打印 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7793492/