• Publicidad

Llamadas desde Java a funciones en Perl?

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Llamadas desde Java a funciones en Perl?

Notapor pablocr » 2006-03-09 10:27 @477

Saludos,
soy un estudiante de Pregrado de Sistemas(haciendo mi tesis actualmente), con mis compañeros tenemos un problema:
Necesitamos realizar llamadas desde Java a funciones y procedimientos
en Perl, pero no existe mucha información al respecto, salvo un ejemplo
en "http://www.perl.com/pub/a/2001/02/inline.html" que no está mal, pero que al realizarlo no da los resultados que se esperan. Obtenemos un error :
>perl StringDistance.pl
Class StringDistance not found at C:/PXPerl/site/lib/Inline/Java.pm line 618

BEGIN failed--compilation aborted at StringDistance.pl line 15, <GEN7> line 4.

No se si alguien me pueda dar una mano, estaría muy agradecido..

Pablo Crespo
pablocr
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2006-03-09 10:18 @471

Publicidad

Notapor kidd » 2006-03-09 10:45 @490

Umm, quizá si nos muestras lo que hay en tu código te podríamos decir si hay algún error.


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor pablocr » 2006-03-09 11:51 @535

HOla, les comento que ya se resolvió el problema, era cuestión de especificar todos los ClassPath (cosa que no estaba realizada con mucho detenimiento). OJO : hay que tomar en cuenta bien eso de los Paths.
pablocr
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2006-03-09 10:18 @471

Notapor Pnikosis » 2006-09-20 05:17 @261

Buenas, soy absolutamente novato en Perl. De hecho desarrollo en Java, pero tengo que ejecutar un fichero .pl (desarrollado por terceros) desde Java y no sé como hacerlo.
He buscado en Internet pero no hay caso, me encontré con JPL por ejemplo, pero al parecer sirve para escribir código Perl directamente en Java y no para ejecutar desde un fichero.
¿Alguien sabe como puedo hacerlo?

Gracias de antemano
Pnikosis
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-09-20 05:10 @256

Notapor explorer » 2006-09-20 05:35 @274

Haz un System que ejecute el intérprete perl y como primer argumento, el fichero.pl .

Atención por si tienes que dar el $PATH adecuado...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Pnikosis » 2006-09-20 05:56 @289

Ahora voy a probarlo, el problema es que por portabilidad, pero voy a poner como requerimiento tener instalado el activeperl antes :?
Pnikosis
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-09-20 05:10 @256

Notapor explorer » 2006-09-20 06:11 @299

Otra opción: aprende Perl y lo pasas todo a Java.

Otra opción mejor: aprende Perl y lo pasas todo a Perl.

Vamos, que no te queda otra opción que aprender Perl :-)
(Cuidado, Perl es adictivo)
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Pnikosis » 2006-09-20 06:35 @316

Me temía que terminaría así tarde o temprano... :wink:
Pnikosis
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-09-20 05:10 @256

Notapor kidd » 2006-09-20 08:58 @415

Hola:

Tiene razón explorer en lo que te dice. La recomendación es que hagas todo en un mismo lenguaje, de lo contrario tendrías problemas de portabilidad debido a que tus usuarios tendrían que tener Java y Perl instalados para correr tu aplicación.

Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor Perl user » 2006-09-20 09:19 @430

Que tal,

No pude evitar leer este thread y me pareció importante mencionarle puntos de vistas que ambos lados ( tanto el del dueño de la aplicación homogénea como la de kidd y explorer que quieren algo heterogéneo ) posiblemente sepan pero que pasaron por alto.

Es bien sabido que UNA de las bondades de Perl ( y lenguajes afines ) es ser un 'glue language' o, dicho de otra forma, un lenguaje pegamento. Pero, q qué nos referimos con 'pegamento'? Un lenguaje pegamento es una herramienta que sirve para unir, automatizar y preparar el entorno de una o mas aplicaciones en ( posiblemente ) diferentes lenguajes.

La existencia de Inline::Java y proyectos afines es por eso mismo, porque una aplicación CON Perl no necesariamente tiene que estar escrita en el mismo lenguaje, yo he trabajado mucho con Perl desde el lado de la automatización y preparación de entornos para aplicaciones que no están hechas en Perl.

Aquí viene el punto que posiblemente (mi percepción ) olvidaron kidd y Joaquín. No sé si han trabajado con proyectos relativamente grandes ( en cuanto a magnitud y complejidad ) y que sean de tipo legacy. Pero si lo han hecho podrán imaginarse que la frase "Hay que migrar todo a Perl" no es tan trivial y podrían tratarlos de locos la gente del proyecto. Por qué? Porque migrar un sistema con una complejidad aceptable requiere todo un profundo anàlisis de riesgos de muchos tipos, incluyendo tecnología, hardware, deployment y otros aspectos que requieren no solo tiempo sino también recursos.

Si bien este es un "simple" caso de un estudiante y un proyecto de grado, la recomendación de "Aprender Perl para hacerlo todo en Perl" no es mala, sin embargo, creo yo que mas que eso sería mejor decirle que aprenda bien la herramienta que quiera utilizar, pero en lo personal, yo no haría la recomendación de que sea Perl la herramienta UNICA a utilizar.

Pero, incluso un simple proyecto de facultad también require análisis al hacer alguna migración, puesto que podrías terminar arrancándote cabellos de la desesperación de que algo no funciona como antes.

Si bien esto ya sería offtopic, Perl puede hacer muchas cosas, pero cada herramienta tiene un fin, y hay herramientas que hacen mejor algunas cosas que otras, y eso no excluye el caso de Perl.

Saludos,
Última edición por Perl user el 2006-09-20 10:34 @482, editado 1 vez en total
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Siguiente

Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados