如何从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

回到顶部