Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Parser Perl

  1. #1

    Parser Perl

    Salve, stavo cercando in giro per il web un parser per i messaggi del protocollo IRC e ne ho trovato uno scritto in Perl. Siccome il parser dovrebbe essere inserito in un programmino più esteso che però è scritto in Java, sapete per caso dirmi se è possibile incapsulare script Perl in programmi JAVA?
    Sulla rete si trovano soltanto informazioni sporadiche e poco chiare riguardo due progetti che però risultano essere non più supportati (JPL e PLJava).
    Grazie in anticipo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    incapsulare script Perl in programmi JAVA
    La vedo dura ...

    Premetto che non conosco Java, per cui la mia e` una risposta generica.

    Perl e` un linguaggio interpretato, che necessita di avere un interprete attivo che legge riga per riga, la intepreta e la esegue.
    Java, che io sappia, e` un linguaggio compilato (almeno in parte), che gira sotto una Macchina Virtuale (JVM).
    Quindi per poter incorporare uno script PErl in un programma Java, sarebbe necessario che la JVM si fermi, mandi in esecuzione lo script il quale a sua volta invoca l'interprete Perl;
    alla fine del Perl, il controllo dovrebbe tornare alla JVM per proseguire con il programma java.

    La cosa non e` impossibile, ma mi pare poco ragionevole. Per come la vedo io, sarebbe meglio tradurre il Perl in Java e inglobarlo direttamente. Pero` tieni presente che non so nulla del tuo programma: non so quanto e` lungo e complesso, non so cosa fa, quali moduli utilizza, ecc (come dire che la mia e` una discussione molto teorica).

    E comunque a mio parere la domanda andrebbe posta dove si parla di Java: infatti e` in Java che dovresti lanciare il programma esterno. Per fare una chamata al sistema operativo (e a qualsiasi eseguibile) in Perl si usa una delle funzioni seguenti, a seconda del risultato che si vuole: system() , exec() , `...`(coppia di backquote) ; per come la vedo io dovresti cercare i corrispondenti in Java.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    ciao,
    da Java puoi farlo. Devi usare qualcosa come:

    codice:
    void run ()
    {
    try
    {
    Runtime rt = Runtime.getRuntime();
    Process p = rt.exec("perl tuoFile.pl");
    }
    
    catch(Exception e)
    {
    
    }
    
    }
    Poi dipende molto da quello che devi fare.
    Per prima cosa:
    sul computer (server? pc?) su cui devi eseguire il programma in perl è installato l'inteprete Perl?

    se hai come destinazione un pc, e non sai se l'inteprete del Perl è installato, puoi sempre pensare di compilare il programma Perl, in modo da fornire un eseguibile.

    In questo caso usa:
    pp
    http://search.cpan.org/~rschupp/PAR-....008/lib/pp.pm

    PP ti compila il il tuo programma in perl.

    Ci sono infine ragioni di opportunita' e di performance, come ti accennava Mich_.

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.