Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di Kloaz
    Registrato dal
    Nov 2004
    Messaggi
    101

    Suggerimento Costruzione Perl Shell (PSH)

    Ciao a tutti, sto svolgendo un progetto per una materia con l'implementazione di una shell con i comandi principali!
    Non ho mai programmato in perl ma diciamo che non sto trovando grosse difficoltà ad utilizzarlo, quello che vi chiedo qui è un suggerimento riguardo la costruzione:

    Ho scritto il codice riguardante il controllo dell'esistenza del comando digitato, gestito da un array e una funzione che controlla se all'interno di quest'ultimo è presente il comando digitato dall'utente.

    Fatto ciò la mia idea era quella di creare una funzione per ogni comando, quindi una per ls, una per cd, mkdir, ecc ecc da richiamare subito dopo il controllo.
    Scritto tutto però mi sto rendendo conto che non so come richiamare la funzione, il cui nome è contenuto in una variabile.
    Mi spiego meglio:
    L'utente digita il comando che viene immagazzinato in $cmd
    $cmd viene passata alla funzione che controlla l'esistenza del comando.
    Successivamente ad un esito positvo della funzione di controllo dovrebbe avviarsi la funzione con il nome del comando, che sta in $cmd.
    una sorta di $cmd(arg1,arg2,arg3,...) che ovviamente non funziona.
    come faccio ad utilizzare una variabile come nome di una funzione?

  2. #2
    Utente di HTML.it L'avatar di Kloaz
    Registrato dal
    Nov 2004
    Messaggi
    101
    come non detto, mi sono risposto da solo in 5 min... bastava usare eval.
    Scusate

  3. #3
    Utente di HTML.it L'avatar di pup3770
    Registrato dal
    Jan 2009
    residenza
    Sicilia
    Messaggi
    8
    Ciao Kloaz, mi presento sono un ragazzo di Palermo e devo realizzare più o meno lo stesso applicativo in perl per una parte del mio progetto di tesi. Non ho mai programmato utilizzando tale linguaggio e quindi mi viene difficile pensare a tale astrazione.. Puoi allegare gentilmente il tuo sorgente così cerco di capire il punto della situazione e da li iniziare a realizzare il mio applicativo?

    Grazie mille in anticipo

  4. #4
    ciao,anche io ho il tuo stesso esame

    io comunque sto facendo in un altro modo,utilizzo le espressione regolari per suddividere la stringa digitata dall utente in sottostringhe memorizzandole in delle variabili,poi con un istruzione di controllo fare un confronto di stringhe in base al comando dato.

    però ancora devo iniziare,ho fatto qualche esempio,questa è un idea,devo valutare tante cose ancora,diciamo che ancora scrivo su carta le possibili soluzioni.

    vedremo

  5. #5
    Utente di HTML.it L'avatar di pup3770
    Registrato dal
    Jan 2009
    residenza
    Sicilia
    Messaggi
    8
    io ho solo il problema adesso nell'implementazione delle chiamate di funzione..non so come implementarle..puoi immettere il tuo listato condo23?

  6. #6
    cioè ? spiega meglio il problema.

    non ho il listato perchè ancora non ho iniziato,come ho detto ancora sono su carta

  7. #7
    Utente di HTML.it L'avatar di pup3770
    Registrato dal
    Jan 2009
    residenza
    Sicilia
    Messaggi
    8
    esempio la funzione cd, come la crei? cioè l'inode lo devi realizzare oppure basta che invochi la chiamata al kernel e lui fa tutto?

  8. #8
    ancora non lho fatta,ma penso utilizzando la funzione chdir di perl.

  9. #9
    Utente di HTML.it L'avatar di pup3770
    Registrato dal
    Jan 2009
    residenza
    Sicilia
    Messaggi
    8
    ah...quindi non devo reimplementare tutto il codice per ogni chiamata di sistema? ma dove la trovo questa chdir di perl che hai citato tu? datemi qualche suggerimento..anche fornendo qualche link...

  10. #10
    non riesco bene a capirti.

    comunque chdir è una funzione di perl che cambia la directory di lavoro che è quella da dove hai chiamato lo script,dove è presente il programma.

    guarda qui

    almeno io penso di fare cosi,non so se è giusto,e non so se esiste un modo migliore.

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.