Originariamente inviato da Fabio Heller
Come le utilizzi in Perl? Fai delle chiamate esterne tipo system o sono dei moduli stile CPAN?
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,

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)
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.

o effettuare una chiamata di sistema ad un programma da linea di comando.
questo è sempre possibile, ma molto inefficiente.

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?
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.