如何从Java调用Perl?
我有一个想从Java使用的Perl模块。是否可以使用Windows上的ActiveState
Perl或Linux随附的通用Perl来调用此代码?我找到了对JPL的引用,但似乎不再维护了。
回答:
Inline-Java是从Perl调用Java的常用库,因此本文提出了
模块,该模块应允许按要求从Java调用Perl。
但是,由于不同的JVM的JNI实现的不可预测性,很难说JVM和Perl的组合将起作用。通常,所需的是具有MULTIPLICITY的Perl,并在其中编译线程。这意味着他使用定制的Perl。
否则, 允许您从Java调用Perl函数。为此,您需要创建一个**org.perl.inline.java.InlinePerlCaller**
对象。这是典型用法的示例:
use Inline Java => <<END ;import java.util.* ;
import org.perl.inline.java.* ;
class Pod_regexp extends InlineJavaPerlCaller {
public Pod_regexp() throws InlineJavaException {
}
public boolean match(String target, String pattern)
throws InlineJavaException {
try {
String m = (String)CallPerlSub("main::regexp",
new Object [] {target, pattern}) ;
if (m.equals("1")){
return true ;
}
}
catch (InlineJavaPerlException pe){
// $@ is in pe.GetObject()
}
return false ;
}
}
END
my $re = new Pod_regexp() ;
my $match = $re->match("Inline::Java", "^Inline") ;
print($match . "n") ; # prints 1
sub regexp {
my $target = shift ;
my $pattern = shift ;
return ($target =~ /$pattern/) ;
}
以上是 如何从Java调用Perl? 的全部内容, 来源链接: utcz.com/qa/408713.html