logo

Argumente ale liniei de comandă Perl

Argumentele liniei de comandă sunt trimise unui program Perl în același mod ca în orice altă limbă. Matricea @ARGV deține argumentul liniei de comandă. Nu este nevoie să folosiți variabile chiar dacă folosiți „utilizați strict”. În mod implicit, această variabilă există întotdeauna și valorile din linia de comandă sunt plasate automat în interiorul acestei variabile. Pentru a accesa argumentele liniei de comandă ale scriptului, trebuie doar să citiți din matricea @ARGV.

Perl permite utilizarea matricei @ARGV ca nume de fișiere prin utilizarea . $ARGV conține numele fișierului curent atunci când citiți din .

@ARGV elemente de matrice

Matricea @ARGV funcționează la fel ca o matrice normală. Primul argument va fi $ARGV[0], al doilea $ARGV[1] și așa mai departe.


Exemplu de argument în linia de comandă Perl

Să vedem un exemplu simplu pentru a tipări argumentele liniei de comandă. În acest exemplu, vom tipări un mesaj de bun venit cu numele utilizatorilor ca argument din linia de comandă. Avem nevoie de două argumente de linie de comandă ca nume și prenume ale utilizatorului.

Pasul 1 Creați un script bun venit.pl în sistemul dumneavoastră.

 #!/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.
'; 

În scriptul de mai sus, mai întâi va verifica dacă sunt furnizate sau nu două argumente de linie de comandă. Dacă nu, va da o eroare de intrare greșită. Și dacă da, va procesa acele argumente ca $ARGV[0] și, respectiv, $ARGV[1].

Pasul 2 Rulați scriptul în consola dvs. ca perl bun venit.pl Christian Gray

Notă: Înainte de a da această comandă, asigurați-vă că vă aflați în directorul care conține scriptul welcome.pl

Argumentele liniei de comandă Perl 1

Aceasta este rezultatul pe care îl veți obține în consola dvs.

Pasul 2 Rulați scriptul în consola dvs. ca perl bun venit.pl crestin

Aici, transmitem un singur argument din linia de comandă.

Argumentele liniei de comandă Perl 2

În rezultat, puteți vedea mesajul de intrare greșit pentru transmiterea unui argument.


Exemplu de argumente în linia de comandă Perl folosind Loop

Acum vom rula o buclă pentru a tipări argumentele liniei de comandă. În acest exemplu, puteți introduce cât de multe argumente doriți.

Pasul 1 Creați un script buclă.pl în sistemul dumneavoastră.

 #!/usr/bin/perl $get_args = $#ARGV + 1; print 'Total command line arguments received: $get_args
'; foreach $argument (0 .. $#ARGV) { print '$ARGV[$argument]
'; } 

Pasul 2 Rulați scriptul în consola dvs. ca perl loop.pl a b c d e f g h

Argumentele liniei de comandă Perl 3

Uitați-vă la rezultatul de mai sus, afișează și argumentele totale transmise pe linia de comandă. Aici am dat 8 argumente.


Perl Getopt::Lung

Opțiunile simple ale liniei de comandă sunt realizate folosind opțiunea ?s. Opțiunile complexe ale liniei de comandă sunt realizate folosind Getopt::Std și Getopt::Long.

Getopt reprezintă GetOptions . Procesează conținutul @ARGV pe baza configurației pe care i-o dăm. Returnează valoarea adevărată sau falsă în funcție de procesare.

Exemplu:

În acest exemplu, obținem bine vârsta utilizatorului din linia de comandă.

 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'; } 

Am declarat o variabilă $x care va stoca valoarea introdusă în --din de la consola standard. The de la=s declară apelat parametrul liniei de comandă --din cu o sfoară după ea. Este mapat în continuare la variabila $x. Bara oblică inversă () înseamnă că trecem o referință la variabilă.

Acest script va trece la cel doar când vom rula acest script pasând ceva care arată ca un nume de parametru și începe cu a (-) dar nu este declarat în acest script.

Acum, vom rula acest program.

Ieșire:

Argumentele liniei de comandă Perl 4

Uită-te la ieșire, după ce am introdus vârsta pe consolă, am obținut rezultatul de mai sus.