En el corto plazo, la solución más fácil es usar Inline :: Python. Seguido de cerca llamando a un script de línea de comandos.
A largo plazo, usar un servidor para proporcionar funcionalidad RPC o simplemente llamar a un script de línea de comandos le dará la solución más a prueba de futuro.
¿Por qué?
Porque de esa manera no está vinculado a Perl o Python como el lenguaje utilizado para construir los sistemas que consumen los servicios proporcionados por su biblioteca. Cualquiera de los dos métodos crea una interfaz clara e independiente del idioma que puede usar con cualquier entorno de desarrollo que adopte.
Según sus necesidades, cualquiera de las opciones presentadas puede ser la "mejor opción". Dependiendo de cómo evolucionen sus necesidades con el tiempo, una opción diferente puede revelarse como "mejor".
Mi acercamiento a esto sería que pedir un par de preguntas:
¿Con qué frecuencia cambian las herramientas de desarrollo. Has cambiado a Python desde Perl. ¿Comenzó con Tcl y fue a Perl? ¿Vas a cambiar al nuevo y fascinante lenguaje X en 1, 5 o 10 años? Si cambia las herramientas 'a menudo' (lo que sea que eso signifique) enfatice la compatibilidad de herramientas cruzadas.
¿Qué tan rápido es lo suficientemente rápido? ¿Está bien el tiempo de inicio de las soluciones de línea de comandos? Inline :: Python ralentiza demasiado las cosas (¿todavía estás inicializando un intérprete de Python, está solo integrado en tu intérprete de Perl)?
Basándome en las respuestas a estas preguntas, quisiera hacer lo más simple que pueda funcionar.
Mi conjetura es que eso significa en este orden:
- Inline :: Python
- scripts de línea de comandos
- Construir un servidor RPC
Inline :: Python funciona bastante bien, no puede sin embargo, será algo extraño cuando se pasen ciertos tipos de variables. – GWW
Gracias. Me gustaron todas las respuestas, pero esto parece muy portátil. – Escualo