如何在php代码中使用Perl代码
我有一个Perl脚本:如何在php代码中使用Perl代码,php,perl,cross-language,Php,Perl,Cross Language,我有一个Perl脚本: use strict; use warnings; use WordNet::QueryData; use WordNet::Similarity::random; use WordNet::Similarity::path; use WordNet::Similarity::wup; use WordNet::Similarity::lch; use WordNet::Similarity::jcn; use WordNet::Similarity::res; use
use strict;
use warnings;
use WordNet::QueryData;
use WordNet::Similarity::random;
use WordNet::Similarity::path;
use WordNet::Similarity::wup;
use WordNet::Similarity::lch;
use WordNet::Similarity::jcn;
use WordNet::Similarity::res;
use WordNet::Similarity::lin;
use WordNet::Similarity::hso;
use WordNet::Similarity::lesk;
use WordNet::Similarity::vector;
use WordNet::Similarity::vector_pairs;
#loading wordnet
my $wn = WordNet::QueryData->new;
my $path = WordNet::Similarity::path->new($wn, "config-files/config-path.conf");
my $value = $path->getRelatedness("eat#v#1", "play#v#1");
print "PATH Similarity = $value\n";
此脚本使用Wordnet本体计算两个动词(eat、play)之间的路径相似性。我想在php代码中使用此脚本,但不想使用exec()、system()、shell_exec()函数来调用perl脚本。
所以我的问题是:有没有办法直接在php代码中使用这个perl脚本 ---嗯,我想不出任何值得生产的解决方案。但是,如果您只是想摆弄它,那么将apache配置为使用perl处理.pl脚本,并在脚本之间运行curl请求。为什么不使用这些函数中的任何一个呢?您确定通信是瓶颈吗?也许你做得不够有效。是否为每对重新启动脚本?您可以将perl脚本作为协进程启动,通过一个管道向它发送单词对,并通过另一个管道接收响应。确保禁用缓冲以防止死锁。--嗯,我想不出任何值得生产的解决方案。但是,如果您只是想摆弄它,那么将apache配置为使用perl处理.pl脚本,并在脚本之间运行curl请求。为什么不使用这些函数中的任何一个呢?您确定通信是瓶颈吗?也许你做得不够有效。是否为每对重新启动脚本?您可以将perl脚本作为协进程启动,通过一个管道向它发送单词对,并通过另一个管道接收响应。确保禁用缓冲以防止死锁。