Gli argomenti della riga di comando vengono inviati a un programma Perl allo stesso modo di qualsiasi altro linguaggio. L'array @ARGV contiene l'argomento della riga di comando. Non è necessario utilizzare variabili anche se si utilizza 'use strict'. Per impostazione predefinita, questa variabile esiste sempre e i valori dalla riga di comando vengono automaticamente inseriti all'interno di questa variabile. Per accedere agli argomenti della riga di comando del tuo script, devi solo leggere dall'array @ARGV.
Perl consente di utilizzare l'array @ARGV come nomi di file utilizzando . $ARGV contiene il nome del file corrente durante la lettura da .
Elementi dell'array @ARGV
L'array @ARGV funziona come un array normale. Il suo primo argomento sarà $ARGV[0], il secondo $ARGV[1] e così via.
Esempio di argomento della riga di comando di Perl
Vediamo un semplice esempio per stampare gli argomenti della riga di comando. In questo esempio, stamperemo un messaggio di benvenuto con il nome dell'utente come argomento dalla riga di comando. Abbiamo bisogno di due argomenti della riga di comando come nome e cognome dell'utente.
Passo 1 Crea una sceneggiatura benvenuto.pl nel tuo sistema
#!/usr/bin/perl -w # (1) check for the number of command-line arguments entered $number_args = $#ARGV + 1; if ($number_args != 2) { print 'Wrong entry. Please enter your full name. '; exit; } # (2) if two command line arguments received, $firstName=$ARGV[0]; $lastName=$ARGV[1]; print 'Welcome $firstName $lastName at JavaTpoint. ';
Nello script sopra, per prima cosa controllerà se sono forniti o meno due argomenti della riga di comando. In caso contrario, verrà visualizzato l'errore di immissione errata. E se sì, elaborerà tali argomenti rispettivamente come $ARGV[0] e $ARGV[1].
Passo 2 Esegui lo script nella tua console come perl benvenuto.pl Christian Grey
Nota: prima di dare questo comando, assicurati di essere nella directory contenente il tuo script Welcome.pl
Questo è l'output che otterrai nella tua console.
Passo 2 Esegui lo script nella tua console come perl benvenuto.pl Cristiano
Qui stiamo passando solo un argomento dalla riga di comando.
Nell'output è possibile visualizzare il messaggio di ingresso errato per il passaggio di un argomento.
Esempio di argomenti della riga di comando di Perl utilizzando Loop
Ora eseguiremo un ciclo per stampare gli argomenti della riga di comando. In questo esempio puoi inserire tutti gli argomenti che desideri.
Passo 1 Crea una sceneggiatura loop.pl nel tuo sistema
#!/usr/bin/perl $get_args = $#ARGV + 1; print 'Total command line arguments received: $get_args '; foreach $argument (0 .. $#ARGV) { print '$ARGV[$argument] '; }
Passo 2 Esegui lo script nella tua console come perl loop.pl a b c d e f g h
Guarda l'output sopra, mostra anche il totale degli argomenti passati sulla riga di comando. Qui abbiamo superato 8 argomenti.
Perl Getopt::Lungo
Le semplici opzioni della riga di comando vengono eseguite utilizzando l'opzione ?s. Le opzioni complesse della riga di comando vengono eseguite utilizzando Getopt::Std e Getopt::Long.
Getopt sta per OttieniOpzioni . Elabora il contenuto di @ARGV in base alla configurazione che gli diamo. Restituisce un valore vero o falso in base all'elaborazione.
Esempio:
In questo esempio, otterremo l'età dell'utente dalla riga di comando.
use strict; use warnings; use 5.010; use Getopt::Long qw(GetOptions); my $x; GetOptions('from=s' => $x) or die 'Usage: $0 --from NAME '; say'According to your age which is $x:'; if ($x >=18) { say 'You are eligible to vote'; }
Abbiamo dichiarato una variabile $x che memorizzerà il valore inserito in --da dalla console standard. IL da=s dichiara il parametro della riga di comando chiamato --da con una stringa dopo. Viene mappato ulteriormente sulla variabile $x. La barra rovesciata () significa che stiamo passando un riferimento alla variabile.
Questo script passerà a IL parte solo quando eseguiremo questo script passando qualcosa che assomiglia al nome di un parametro e inizia con a (-) ma non è dichiarato in questo script.
Ora eseguiremo questo programma.
Produzione:
Guarda l'output, dopo aver inserito l'età sulla console, abbiamo ottenuto l'output sopra.