In genere viene creato un file .pm (un modulo perl) che viene dichiarato sottoclasse dei moduli standard DynaLoader (storico) o XSLoader (più moderno), o altri più specifici. Il tuo file .pm, invocato dagli script operativi, svolge le funzioni che ti servono e rimane a carico della classe padre (DynaLoader o XSLoader) di interfacciarsi con la libreria condivisa, sotto linux .so,Originariamente inviato da Fabio Heller
Come le utilizzi in Perl? Fai delle chiamate esterne tipo system o sono dei moduli stile CPAN?
di base è così anche in Perl in quanto sia DynaLoader che XSLoader hanno parti compilate. I moduli Perl sono di due famiglie: I PP ovvero Pure Perl, e quelli che hanno parti compilate.
Perchè in PHP 4 per usare delle librerie esterne create in un linguaggio compilato è necessario realizzare un wrapper (cioè un estensione C a PHP, come accade ad esempio con le funzioni CURL o le API per i database)
questo è sempre possibile, ma molto inefficiente.
o effettuare una chiamata di sistema ad un programma da linea di comando.
Usando quei moduli standard (cioè inseriti di default in Perl) puoi interfacciarti alle librerie .so su linux o .dll su Windows come farebbe qualunque programma C, in pratica, se ho capito bene, assomigliano a dei linker.
Le cose sono leggermente diverse per gli oggetti Activex e Java (per i quali esistono dei wrapper generici).
In Perl puoi utilizzare qualsiasi libreria esterna senza servirti di un estensione CPAN?