Nel breve periodo la soluzione più semplice è utilizzare Inline :: Python. Seguito da vicino uno script da riga di comando.
A lungo termine, l'utilizzo di un server per fornire funzionalità RPC o semplicemente la chiamata di uno script da riga di comando ti fornirà la soluzione più a prova di futuro.
Perché?
In questo modo non sei legato a Perl o Python come linguaggio utilizzato per costruire i sistemi che consumano i servizi forniti dalla tua libreria. Entrambi i metodi creano un'interfaccia chiara e indipendente dal linguaggio che è possibile utilizzare con qualsiasi ambiente di sviluppo adottato.
A seconda delle esigenze, una qualsiasi delle opzioni presentate potrebbe essere la "scelta migliore". A seconda di come le tue esigenze evolvono nel tempo, una scelta diversa può essere rivelata come "migliore".
mio approccio a questa potrebbe essere quella di chiedere un paio di domande:
Quanto spesso si fa a cambiare gli strumenti di sviluppo. Sei passato a Python da Perl. Hai iniziato con Tcl e vai in Perl? Passerai alla nuova eccitante lingua X in 1, 5 o 10 anni? Se cambi gli strumenti "spesso" (qualunque cosa ciò significhi), enfatizza la compatibilità degli strumenti incrociati.
Quanto è veloce abbastanza veloce? L'ora di avvio delle soluzioni a riga di comando è ok? Inline :: Python rallenta troppo (stai ancora inizializzando un interprete Python, è semplicemente incorporato nell'interprete Perl)?
In base alle risposte a queste domande, vorrei fare la cosa più semplice che è probabile che funzioni.
La mia ipotesi è che significa, in ordine:
- Inline :: Python
- script della riga di comando
- costruire un server RPC
Inline :: Python funziona abbastanza bene, non ci può essere un po 'estraneo quando si superano certi tipi di variabili. – GWW
Grazie. Mi sono piaciute tutte le risposte, ma questo sembra molto portabile. – Escualo