2009-06-09 8 views

उत्तर

5

पूछ रहे हैं मैं हाल ही में इस में अपने आप तलाश रहे हैं की तरह लग रहा है। सीपीएएन पर Inline::Java मॉड्यूल अब तक की सबसे आशाजनक चीज़ है। यह जावा को पर्ल से कॉल करने की अनुमति देता है लेकिन जावा से पर्ल को कॉल करने वाले कुछ (जावा कक्षाओं के माध्यम से) भी।

+2

क्या आप इस बारे में निश्चित हैं: ** क्या आप रिवर्स कर सकते हैं: Java ** से perl को कॉल करना, क्या यह मिशन महत्वपूर्ण सामग्री में भरोसेमंद है? – FutuToad

0

नहीं, मुझे विश्वास नहीं है कि यह अस्तित्व में है। हालांकि JVM (JRuby, Jython आदि) को पोर्ट की गई कई भाषाएं हैं, पर्ल अभी तक उनमें से एक नहीं है।

1

मैं शपथ ले सकता था कि यह Java Scripting API का उपयोग कर पाई के रूप में आसान था।
लेकिन जाहिरा तौर पर यह मौजूदा कार्यान्वयन की सूची में नहीं है ...

तो, शायद यह बजाय मदद करता है: java and perl
संपादित करें: मैंने कहा "शायद"

+2

जेपीएल मर चुका है। इसका इस्तेमाल न करें। इनलाइन :: जावा जाने का रास्ता है। – daotoad

4

Inline::Java एक embedded Perl interpreter प्रदान करता है एक कक्षा में आप अपने जावा कोड से पर्ल कोड को कॉल करने के लिए इसका उपयोग कर सकते हैं।

Graciliano M. Passos' PLJava एक एम्बेडेड दुभाषिया भी प्रदान करता है।

जेपीएल (जावा पर्ल लिंगो) का उपयोग न करें - परियोजना मर चुकी है और आधुनिक पेर्ल से हटा दी गई है।

0

भविष्य में, जेएसआर 223 में पेश किए गए जावा स्क्रिप्टिंग समर्थन के माध्यम से किसी भी स्क्रिप्टिंग भाषा का उपयोग करने का मानक तरीका इस समय समर्थित स्क्रिप्टिंग भाषाओं की सूची के लिए scripting project homepage देखें। दुर्भाग्य से, पर्ल नहीं पर वहाँ अभी तक :-(

2

Inline::Perl वीएम आवरण का उपयोग किए बिना (है स्वीकार किए जाते हैं तरीका है। लेकिन वहाँ भी है Jerl जो एक जार से चलाया जा सकता है।

यहाँ an example जो ऐसा नहीं है ।

import jerlWrapper.perlVM; 

public final class HelloWorld { 

    /* keeping it simple */ 
    private static String helloWorldPerl = "print 'Hello World '.$].\"\n\";"; 

    public static void main(String[] args) { 
     perlVM helloJavaPerl = new perlVM(helloWorldPerl); 
     helloJavaPerl.run(); 
    } 
} 

या

: मज़ा)

यहाँ कुछ jerlWrapper वर्ग का उपयोग कर उदाहरण यह कोड को आसान बनाने के लिए है

import jerlWrapper.perlVM; 

public final class TimeTest { 

    /* The (ugly) way to retrieve time within perl, with all the 
    * extra addition to make it worth reading afterwards. 
    */ 
    private static String testProggie = new String(
      "my ($sec, $min, $hr, $day, $mon, $year) = localtime;"+ 
      "printf(\"%02d/%02d/%04d %02d:%02d:%02d\n\", "+ 
      "  $mon, $day + 1, 1900 + $year, $hr, $min, $sec);" 
    ); 

    public static void main(String[] args) { 
     perlVM helloJavaPerl = new perlVM(testProggie);  
     boolean isSuccessful = helloJavaPerl.run(); 
     if (isSuccessful) { 
      System.out.print(helloJavaPerl.getOutput()); 
     } 
    } 
} 
+0

पर्ल 5 के लिए जेर्ल को बहिष्कृत किया जा रहा है। राकुडो पर्ल में वीएम विकल्प आगे बढ़ रहे हैं: http://en.wikipedia.org/wiki/Rakudo_Perl_6 – michaelt

+0

पर्ल 5 के लिए जेरल वास्तव में बहिष्कृत है। हालांकि परियोजना 2 साल + के लिए स्थिर थी, बेहतर वर्चुअलाइजेशन विकल्प हैं। – michaelt

संबंधित मुद्दे