Argumenti ukazne vrstice so poslani programu Perl na enak način kot v katerem koli drugem jeziku. Matrika @ARGV vsebuje argument ukazne vrstice. Spremenljivk ni treba uporabljati, tudi če uporabite 'use strict'. Privzeto ta spremenljivka vedno obstaja in vrednosti iz ukazne vrstice so samodejno postavljene znotraj te spremenljivke. Za dostop do argumentov ukazne vrstice vašega skripta morate le prebrati iz matrike @ARGV.
Perl dovoljuje uporabo polja @ARGV kot imena datotek z uporabo . $ARGV vsebuje ime trenutne datoteke pri branju iz .
Elementi polja @ARGV
Matrika @ARGV deluje enako kot običajna matrika. Njegov prvi argument bo $ARGV[0], drugi $ARGV[1] in tako naprej.
Primer argumenta ukazne vrstice Perl
Oglejmo si preprost primer za tiskanje argumentov ukazne vrstice. V tem primeru bomo natisnili pozdravno sporočilo z imenom uporabnika kot argumentom iz ukazne vrstice. Potrebujemo dva argumenta ukazne vrstice kot ime in priimek uporabnika.
Korak 1 Ustvarite skript dobrodošli.pl v vašem sistemu.
#!/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. ';
V zgornjem skriptu bo najprej preveril, ali sta podana dva argumenta ukazne vrstice ali ne. Če ne, bo prišlo do napačne napake pri vnosu. In če da, bo te argumente obdelal kot $ARGV[0] oziroma $ARGV[1].
2. korak Zaženite skript v svoji konzoli kot perl welcome.pl Christian Grey
Opomba: Preden podate ta ukaz, se prepričajte, da ste v imeniku, ki vsebuje vaš skript welcome.pl
To je rezultat, ki ga boste dobili v svoji konzoli.
2. korak Zaženite skript v svoji konzoli kot perl welcome.pl Christian
Tukaj posredujemo samo en argument iz ukazne vrstice.
V izhodu lahko vidite napačno vnosno sporočilo za posredovanje enega argumenta.
Primer argumentov ukazne vrstice Perl z uporabo zanke
Zdaj bomo zagnali zanko za tiskanje argumentov ukazne vrstice. V tem primeru lahko vnesete toliko argumentov, kot želite.
Korak 1 Ustvarite skript loop.pl v vašem sistemu.
#!/usr/bin/perl $get_args = $#ARGV + 1; print 'Total command line arguments received: $get_args '; foreach $argument (0 .. $#ARGV) { print '$ARGV[$argument] '; }
2. korak Zaženite skript v svoji konzoli kot perl zanka.pl a b c d e f g h
Poglejte zgornji rezultat, prikaže tudi skupno število argumentov, posredovanih v ukazni vrstici. Tukaj smo posredovali 8 argumentov.
Perl Getopt::Long
Enostavne možnosti ukazne vrstice se izvajajo z možnostjo ?s. Zapletene možnosti ukazne vrstice se izvedejo z uporabo Getopt::Std in Getopt::Long.
Getopt pomeni GetOptions . Obdeluje vsebino @ARGV na podlagi konfiguracije, ki mu jo damo. Glede na obdelavo vrne vrednost true ali false.
primer:
V tem primeru dobimo starost uporabnika iz ukazne vrstice.
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'; }
Razglasili smo spremenljivko $x ki bo shranil vstavljeno vrednost --od iz standardne konzole. The od=s deklarira imenovani parameter ukazne vrstice --od z nizom za njim. Nadalje je preslikan v spremenljivko $x. Poševnica nazaj () pomeni, da posredujemo sklic na spremenljivko.
Ta skript bo preklopil na the del samo takrat, ko bomo zagnali ta skript tako, da posredujemo nekaj, kar je videti kot ime parametra in se začne z a (-) vendar ni naveden v tem skriptu.
Zdaj bomo zagnali ta program.
Izhod:
Poglejte izpis, po vnosu starosti na konzoli smo dobili zgornji izpis.