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



 


indietro

[25] Perché gli one-liner Perl non funzionano sul mio sistema DOS/Mac/VMS?

Di solito il problema è che l'interprete dei comandi di questi sistemi ha idee sul quoting piuttosto differenti rispetto a quelle delle shell Unix nelle quali gli one-liner sono stati creati. Su alcuni sistemi, potreste dover cambiare gli apici singoli in doppi apici, cosa che NON dovete fare in Unix o nei sistemi Plan9. Potreste inoltre dover cambiare un singolo % in un %%.

Ad esempio:

    # Unix
    perl -e 'print "Ciao Mondo\n"'
    # DOS, etc.
    perl -e "print \"Ciao Mondo\n\""
    # Mac
    print "Ciao Mondo\n"
    (e poi Run "Myscript" oppure Shift-Mela-R)
    # VMS
    perl -e "print ""Ciao Mondo\n"""

Il problema è che nessuno di questi esempi è affidabile: dipende dall'interprete dei comandi. In ambiente Unix, i primi due esempi spesso funzionano. In ambiente DOS è del tutto possibile che nessuno dei due funzioni. Se la shell fosse 4DOS, probabilmente avreste miglior fortuna con qualcosa del genere:

    perl -e "print <Ctrl-x>"Ciao Mondo\n<Ctrl-x>""

Su Mac, dipende dall'ambiente che state usando. La shell MacPerl, oppure MPW, è in larga misura analoga ad una shell Unix per quanto riguarda il supporto di diverse varianti del quoting, eccettuato il fatto che adopera liberamente i caratteri non-ASCII come caratteri di controllo.

L'uso di qq(), q() e qx() anziché dei "doppi apici", 'singoli apici' e `apici inversi' potrebbe rendere gli one-liner più semplici da scrivere.

Non c'è una soluzione generale. È una situazione confusa.

[Parte di questa risposta è un contributo di Kenneth Albanowski.]

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