Argumenty příkazového řádku jsou odesílány do programu v Perlu stejným způsobem jako v jakémkoli jiném jazyce. Pole @ARGV obsahuje argument příkazového řádku. Není potřeba používat proměnné, i když použijete 'use strict'. Ve výchozím nastavení tato proměnná vždy existuje a hodnoty z příkazového řádku jsou automaticky umístěny do této proměnné. Chcete-li získat přístup k argumentům příkazového řádku vašeho skriptu, stačí číst z pole @ARGV.
Perl umožňuje použít pole @ARGV jako názvy souborů pomocí . $ARGV obsahuje název aktuálního souboru při čtení z .
@ARGV prvky pole
Pole @ARGV funguje stejně jako normální pole. Jeho první argument bude $ARGV[0], druhý $ARGV[1] a tak dále.
Příklad argumentu příkazového řádku Perlu
Podívejme se na jednoduchý příklad tisku argumentů příkazového řádku. V tomto příkladu vytiskneme uvítací zprávu se jménem uživatele jako argumentem z příkazového řádku. Potřebujeme dva argumenty příkazového řádku jako jméno a příjmení uživatele.
Krok 1 Vytvořte skript vítejte.pl ve vašem systému.
#!/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. ';
Ve výše uvedeném skriptu nejprve zkontroluje, zda jsou zadány dva argumenty příkazového řádku nebo ne. Pokud ne, zobrazí se chybná chyba zadání. A pokud ano, zpracuje tyto argumenty jako $ARGV[0] a $ARGV[1].
Krok 2 Spusťte skript ve vaší konzoli jako perl welcome.pl Christian Grey
Poznámka: Před zadáním tohoto příkazu se ujistěte, že jste v adresáři obsahujícím váš skript welcome.pl
Toto je výstup, který získáte ve své konzoli.
Krok 2 Spusťte skript ve vaší konzoli jako perl welcome.pl Christian
Zde předáváme pouze jeden argument z příkazového řádku.
Ve výstupu můžete vidět chybnou vstupní zprávu pro předání jednoho argumentu.
Příklad argumentů příkazového řádku Perlu pomocí Loop
Nyní spustíme cyklus pro tisk argumentů příkazového řádku. V tomto příkladu můžete zadat tolik argumentů, kolik chcete.
Krok 1 Vytvořte skript loop.pl ve vašem systému.
#!/usr/bin/perl $get_args = $#ARGV + 1; print 'Total command line arguments received: $get_args '; foreach $argument (0 .. $#ARGV) { print '$ARGV[$argument] '; }
Krok 2 Spusťte skript ve vaší konzoli jako perl loop.pl a b c d e f g h
Podívejte se na výstup výše, zobrazuje také celkový počet argumentů předávaných na příkazovém řádku. Zde jsme předali 8 argumentů.
Perl Getopt::Dlouhý
Jednoduché volby příkazového řádku se provádějí pomocí volby ?s. Složité možnosti příkazového řádku se provádějí pomocí Getopt::Std a Getopt::Long.
Getopt znamená GetOptions . Zpracovává obsah @ARGV na základě konfigurace, kterou mu zadáme. Vrací hodnotu true nebo false na základě zpracování.
Příklad:
V tomto příkladu dobře získáme věk uživatele z příkazového řádku.
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 jsme proměnnou x $ do kterého se uloží vložená hodnota --z ze standardní konzole. The od=s deklaruje volaný parametr příkazového řádku --z s provázkem za ním. Dále se mapuje na proměnnou $x. Zpětné lomítko () znamená, že předáváme odkaz na proměnnou.
Tento skript se přepne na a část pouze tehdy, když budeme tento skript spouštět předáním něčeho, co vypadá jako název parametru a začíná na a (-) ale není deklarován v tomto skriptu.
Nyní spustíme tento program.
Výstup:
Podívejte se na výstup, po zadání věku na konzoli jsme dostali výše uvedený výstup.