logo

Argumenty príkazového riadku Perl

Argumenty príkazového riadku sa odosielajú do programu v jazyku Perl rovnakým spôsobom ako v akomkoľvek inom jazyku. Pole @ARGV obsahuje argument príkazového riadka. Nie je potrebné používať premenné, aj keď použijete „použiť prísne“. V predvolenom nastavení táto premenná vždy existuje a hodnoty z príkazového riadku sa automaticky umiestnia do tejto premennej. Ak chcete získať prístup k argumentom príkazového riadka vášho skriptu, stačí čítať z poľa @ARGV.

Perl umožňuje použiť pole @ARGV ako názvy súborov pomocou . $ARGV obsahuje názov aktuálneho súboru pri čítaní z .

prvky poľa @ARGV

Pole @ARGV funguje rovnako ako bežné pole. Jeho prvý argument bude $ARGV[0], druhý $ARGV[1] atď.


Príklad argumentu príkazového riadka Perl

Pozrime sa na jednoduchý príklad tlače argumentov príkazového riadku. V tomto príklade vytlačíme uvítaciu správu s menom užívateľa ako argumentom z príkazového riadku. Potrebujeme dva argumenty príkazového riadku ako meno a priezvisko používateľa.

Krok 1 Vytvorte skript vitajte.pl vo vašom systéme.

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

Vo vyššie uvedenom skripte najprv skontroluje, či sú zadané dva argumenty príkazového riadku alebo nie. Ak nie, zobrazí sa chyba nesprávneho zadania. A ak áno, spracuje tieto argumenty ako $ARGV[0] a $ARGV[1].

Krok 2 Spustite skript v konzole ako perl welcome.pl Christian Grey

Poznámka: Pred zadaním tohto príkazu sa uistite, že ste v adresári, ktorý obsahuje váš skript welcome.pl

Perl Argumenty príkazového riadku 1

Toto je výstup, ktorý získate vo svojej konzole.

Krok 2 Spustite skript v konzole ako perl welcome.pl Christian

Tu odovzdávame iba jeden argument z príkazového riadku.

Perl Argumenty príkazového riadku 2

Vo výstupe môžete vidieť chybnú vstupnú správu pre odovzdanie jedného argumentu.


Príklad argumentov príkazového riadka Perlu pomocou slučky

Teraz spustíme cyklus na vytlačenie argumentov príkazového riadku. V tomto príklade môžete zadať toľko argumentov, koľko chcete.

Krok 1 Vytvorte skript loop.pl vo vašom systéme.

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

Krok 2 Spustite skript v konzole ako perlová slučka.pl a b c d e f g h

Perl argumenty príkazového riadku 3

Pozrite sa na výstup vyššie, zobrazuje aj celkový počet argumentov odovzdaných na príkazovom riadku. Tu sme odovzdali 8 argumentov.


Perl Getopt::Dlhý

Jednoduché možnosti príkazového riadku sa vykonávajú pomocou možnosti ?s. Zložité možnosti príkazového riadku sa vykonávajú pomocou Getopt::Std a Getopt::Long.

Getopt znamená GetOptions . Spracováva obsah @ARGV na základe konfigurácie, ktorú mu zadáme. Na základe spracovania vráti hodnotu true alebo false.

Príklad:

V tomto príklade dobre získame vek používateľa z príkazového riadku.

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

Deklarovali sme premennú x $ ktorý bude uchovávať vloženú hodnotu --od zo štandardnej konzoly. The od=s deklaruje parameter príkazového riadku s názvom --od so šnúrkou za ňou. Ďalej sa mapuje na premennú $x. Opačná lomka () znamená, že odovzdávame odkaz na premennú.

Tento skript sa prepne na na časť iba vtedy, keď spustíme tento skript odovzdaním niečoho, čo vyzerá ako názov parametra a začína sa a (-) ale nie je deklarovaný v tomto skripte.

Teraz spustíme tento program.

Výkon:

Perl argumenty príkazového riadku 4

Pozrite sa na výstup, po zadaní veku na konzole sme dostali vyššie uvedený výstup.