-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


indietro

[27] Cosa c'è che non va nell'usare i backtick (apici inversi) in un contesto vuoto?

A rigor di termini, niente. A livello stilistico, non è un buon modo per scrivere codice manutenibile. Il Perl ha diversi operatori per l'esecuzione di comandi esterni. I backtick sono uno di questi; essi collezionano l'output dal comando per usarlo nel vostro progamma. La funzione system è un'altra; essa non fa così.

Scrivere backtick nel vostro programma manda un chiaro segnale a coloro che leggono il vostro codice che volete raccogliere l'output del comando. Perché mandare un chiaro segnale che non è vero?

Si consideri questa linea:

    `cat /etc/termcap`;

Avete scordato di controllare $? per vedere se il programma è stato anche eseguito correttamente. Anche se scrivete

    print `cat /etc/termcap`;

questo potrebbe e probabilmente dovrebbe essere scritto come

    system("cat /etc/termcap") == 0
        or die "il programm cat non e` andato a buon fine!";

con il quale si otterrà l'output velocemente (mentre viene generato, invece che soltanto alla fine) e si controlla anche il valore restituito.

system() dà la possibilità di decidere se la sostituzione dei caratteri jolly deve essere effettuata dalla shell, con i backticks ciò non è possibile.

vedi in inglese

AUTORE E COPYRIGHT

Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan Torkington. Tutti i diritti riservati.

Questa documentazione è libera; puoi ridistribuirla e/o modificarla secondo gli stessi termini applicati al Perl.

Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di codice in questo file sono rilasciati al pubblico dominio. Potete, e siete incoraggiati a farlo, utilizzare il presente codice o qualunque forma derivata da esso nei vostri programmi per divertimento o per profitto. Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese ma non è obbligatorio.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google