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
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.
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
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:
Pozrite sa na výstup, po zadaní veku na konzole sme dostali vyššie uvedený výstup.