Есть ли способ выполнить Perl-код без использования Runtime.getRuntime.exec ("..."); (разбор в java-приложении)?Включить Perl в Java
ответ
Я смотрел на это сам в последнее время. Наиболее многообещающая вещь, которую я нашел до сих пор, - это модуль Inline::Java на CPAN. Он позволяет вызывать Java из Perl, но также (через некоторые включенные классы Java), вызывая Perl из Java.
Нет, я не верю, что это существует. Хотя было несколько языков, перенесенных в JVM (JRuby, Jython и т. Д.), Perl еще не является одним из них.
this выглядит то, что вы просите
Я мог бы поклясться, что это было легко, как пирог, используя Java Scripting API.
Но, видимо, это не в списке существующих реализаций ...
Так, может быть, это помогает вместо:
java and perl
редактировать: я сказал "возможно"
JPL мертв. Не используйте его. Inline :: Java - путь. – daotoad
Inline::Java обеспечивает embedded Perl interpreter в классе. Вы можете использовать это для вызова кода Perl из кода Java.
Graciliano M. Passos' PLJava также предоставляет встроенный интерпретатор.
Не используйте JPL (Java Perl Lingo) - проект мертв и удален из современных перлов.
В будущем стандартным способом использования любого языка сценариев является поддержка java Scripting Support, представленная в JSR 223. См. scripting project homepage для списка языков сценариев, поддерживаемых на данный момент. К сожалению, Perl не там еще :-(
Inline::Perl
является общепринятым способом. Но есть также Jerl, которые могут быть запущены из баночки.
Вот an example без использования оболочки VM (что не так . весело)
Вот некоторые примеры использования jerlWrapper
класс, чтобы сделать его проще код:
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();
}
}
или
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());
}
}
}
- 1. Включить переменную в filename perl
- 2. Включить JavaScript в Perl-CGI сгенерированную страницу
- 3. Perl: Как включить PHP-стиль?
- 4. Как установить perl-модуль и включить его в Perl-скрипт?
- 5. Perl - Как включить хэш в строку запроса?
- 6. Как включить хэш внутри хэш в perl?
- 7. Как включить ведение журнала в модуле Perl?
- 8. Как включить раздел BEGIN в скрипт perl
- 9. Как включить команду perl в sed?
- 10. Экспортировать путь библиотеки и включить в perl
- 11. Как включить «diff» в тест Perl?
- 12. Как включить Perl в shtml-файлы
- 13. Включить данные файла в массив Perl
- 14. Включить поддержку потоков для Perl в Windows?
- 15. как включить модули perl в скрипт
- 16. Преобразование Perl в Java
- 17. Java File.pathSeparator в Perl
- 18. Включить изображения в Java
- 19. Включить PERL модуль из другого места
- 20. Как включить функции Perl через командную строку?
- 21. Как включить/отключить функцию редактирования Perl?
- 22. bash or perl: включить внутренний скрипт клавиатуры
- 23. Make объекта Java в Perl
- 24. Преобразование Java-байта в Perl
- 25. Java интерфейс эквивалент в Perl
- 26. Захват исключения Perl в Java
- 27. Запуск PERL скрипт в Java
- 28. Преобразование perl regex в Java
- 29. Загрузите Perl Hash в Java
- 30. преобразование java в perl (md5)
Вы уверены, что: ** можете ли вы сделать обратное: вызов perl из Java **, является ли он надежным в критически важных вещах? – FutuToad