Inline-Java是从Perl调用Java的常用库,因此本文提出了
org.perl.java
模块,该模块应允许按要求从Java调用Perl。
但是,由于不同的JVM的JNI实现的不可预测性,很难说JVM和Perl的组合将起作用。通常,所需的是具有MULTIPLICITY的Perl,并在其中编译线程。这意味着他使用定制的Perl。
否则, Inline :: Java ::
Callback 允许您从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 ; }}ENDmy $re = new Pod_regexp() ;my $match = $re->match("Inline::Java", "^Inline") ;print($match . "n") ; # prints 1sub regexp { my $target = shift ; my $pattern = shift ; return ($target =~ /$pattern/) ;}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)