GNU/Linux >> Linux Esercitazione >  >> Linux

8 fantastici argomenti della riga di comando di Perl che dovresti conoscere

Le opzioni della riga di comando in Perl potrebbero essere utili per svolgere compiti più piccoli in modo efficace.

In questo articolo, esaminiamo come utilizzare le opzioni della riga di comando di Perl per eseguire le seguenti attività:

  • Modifica il contenuto del file
  • Separatore linea di gestione
  • Controlla gli errori di sintassi
  • Carica moduli
  • Esegui loop
  • Esegui codice perl
  • Imposta il separatore della riga di input
  • Dividi la riga di input
  • ecc.

1. Opzione Perl -i:modifica il contenuto del file

Apre i file uno per uno e sostituisce il contenuto con STDOUT.

Usiamo il seguente file sample.txt per convertire il suo contenuto in maiuscolo come mostrato di seguito.

$ cat sample.txt
Practical Extraction Report Language

$ perl -pi  -e “tr/[a-z]/[A-Z]/” sample.txt

$ cat sample.txt
PRACTICAL EXTRACTION REPORT LANGUAGE

Puoi anche eseguire il backup del file originale come mostrato di seguito:

$ perl -pi.bak  -e “tr/[a-z]/[A-Z]/” sample.txt

$ cat sample.txt
PRACTICAL EXTRACTION REPORT LANGUAGE

$ cat sample.txt.bak
Practical Extraction Report Language

Per eseguire il debug di un programma Perl, utilizzare il debugger Perl come spiegato in precedenza.

2. Opzione Perl -l:gestione del separatore di riga

Il separatore di riga prende il valore ottale come argomento. Di seguito sono riportati alcuni esempi di alcuni separatori comuni e del suo valore ottale.

Character    Octal Value
=========    =========
new line(\n) 012
tab(\t)      011
space        040
&            046

Nota:usa il comando “man ascii” per conoscere il valore ottale di tutti i caratteri.

Esempio di utilizzo del separatore di riga:

$ perl -p -l046 -e “tr/[a-z]/[A-Z]/”;
bala

Output :

BALA&

Inoltre, fare riferimento a 6 funzioni di valutazione di Perl per ulteriori letture.

3. Opzione Perl -c:controlla gli errori di sintassi

L'opzione -c compila il tuo programma senza eseguirlo per garantire che non siano presenti errori di sintassi nel tuo programma.

$ perl -c sample.pl

4. Opzione Perl -M:per caricare i moduli

Con l'opzione Perl -M, possiamo caricare i moduli desiderati come mostrato di seguito.

$ perl -MFile::Copy -e ‘move(“sample.txt”,”/tmp”);’

L'opzione -m esegue anche il caricamento dei moduli ma non importa nulla. Di seguito è la differenza:

  • -MFile::Copy equivale a “use File::Copy; “
  • -mFile::Copy equivale a "use File::Copy()"

Abbiamo anche discusso dell'opzione -M nei nostri precedenti 20 suggerimenti per la programmazione Killer Perl.

5. Opzione Perl -n e -p:ciclo implicito

L'opzione -n ​​racchiude il codice all'interno del ciclo come mostrato di seguito.

while(<>) {
# perl code
}

Il seguente snippet lo descrive meglio.

while(<>) {
$_ =~ tr/[a-z]/[A-Z]/;
}

Usando -n, possiamo riscrivere lo snippet di codice sopra come mostrato di seguito.

$ perl -n -e ‘tr/[a-z]/[A-Z]/;print’

L'opzione -p racchiude il codice all'interno del ciclo come mostrato di seguito.

while(<>) {
# perl code
print;
}

Il seguente snippet lo descrive meglio.

while(<>) {
$_ =~ tr/[a-z]/[A-Z]/;
print;
}

Usando -p, possiamo riscrivere lo snippet di codice sopra come mostrato di seguito.

$ perl -p -e “tr/[a-z]/[A-Z]/”;

Se sviluppi molto codice Perl, dovresti leggere il libro delle migliori pratiche Perl.

6. Opzione Perl -e:esegue il codice perl nella stessa riga di comando

Un programma Perl semplice o breve può essere scritto nella stessa riga di comando con questa opzione come mostrato di seguito.

$ perl -e “print \”Username : $ENV{USER}”

7. Opzione Perl -0:Input Record Separator

Usando l'opzione -0, possiamo cambiare il "separatore di record di input" da newline a qualcos'altro come mostrato di seguito.

$ perl -p -0046 -e “tr/[a-z]/[A-Z]/”;
bala
raja&

Output :

BALA
RAJA&

Nell'esempio sopra, 046 è il valore ottale per il carattere "&". Quindi, dopo aver ricevuto &carattere, Perl lo considera come la fine di un record e quindi esegue l'operazione di traduzione.

8. Opzione Perl -a:dividere la riga di input

Divide $_ in @F con il delimitatore come spazio.

L'esempio seguente mostra l'opzione -a.

$ cat emp_salary.txt
bala     10000
rajesh  12300
kumar 14000

$ perl -n -l012  -a -e ‘print “$F[1]“‘  emp_salary.txt
10000
12300
14000

Per impostazione predefinita, occupa spazio come delimitatore ed esegue l'operazione di divisione. Il delimitatore può essere modificato utilizzando l'opzione -F come mostrato di seguito.

$ cat emp_salary.txt
bala:10000
rajesh:12300
kumar:14000

$ perl -n -l012  -F: -a -e ‘print “$F[1]“‘  emp_salary
10000
12300
14000

Linux
  1. 10 comandi che ogni utente Linux dovrebbe conoscere

  2. 10 comandi di base di Linux che devi conoscere

  3. 11 guide della riga di comando di Linux di cui non dovresti fare a meno

  4. Passare gli argomenti della riga di comando allo script Bash?

  5. Esegui script Perl/PHP dalla riga di comando

30 fatti sorprendenti su Linux che dovresti sapere

9 fatti sorprendenti su SUSE Linux che dovresti sapere

Alcune alternative all'utilità della riga di comando "top" che potresti voler sapere

I 50+ migliori comandi Linux che DEVI conoscere

Come leggere gli argomenti della riga di comando negli script della shell?

Sviluppa rapidamente la GUI per la riga di comando