logo

Argumenti Perl naredbenog retka

Argumenti naredbenog retka šalju se Perl programu na isti način kao u bilo kojem drugom jeziku. Niz @ARGV sadrži argument naredbenog retka. Nema potrebe koristiti varijable čak i ako koristite 'use strict'. Prema zadanim postavkama, ova varijabla uvijek postoji i vrijednosti iz naredbenog retka automatski se postavljaju unutar ove varijable. Da biste pristupili argumentima naredbenog retka vaše skripte, samo trebate čitati iz niza @ARGV.

Perl dopušta korištenje niza @ARGV kao naziva datoteka pomoću . $ARGV sadrži naziv trenutne datoteke kada se čita iz .

@ARGV elementi niza

Niz @ARGV radi isto kao i normalni niz. Njegov prvi argument bit će $ARGV[0], drugi $ARGV[1] i tako dalje.


Primjer argumenta Perl naredbenog retka

Pogledajmo jednostavan primjer za ispis argumenata naredbenog retka. U ovom primjeru ispisat ćemo poruku dobrodošlice s korisničkim imenom kao argumentom iz naredbenog retka. Potrebna su nam dva argumenta naredbenog retka kao ime i prezime korisnika.

Korak 1 Napravite skriptu dobrodošli.pl u vašem sustavu.

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

U gornjoj skripti prvo će se provjeriti jesu li navedena dva argumenta naredbenog retka ili ne. Ako nije, dat će pogrešku pogrešnog unosa. A ako da, obradit će te argumente kao $ARGV[0] i $ARGV[1].

Korak 2 Pokrenite skriptu u svojoj konzoli kao perl dobrodošli.pl Christian Grey

Napomena: Prije davanja ove naredbe, provjerite jeste li u direktoriju koji sadrži vašu skriptu welcome.pl

Argumenti Perl naredbenog retka 1

Ovo je izlaz koji ćete dobiti u svojoj konzoli.

Korak 2 Pokrenite skriptu u svojoj konzoli kao perl dobrodošao.pl Christian

Ovdje prosljeđujemo samo jedan argument iz naredbenog retka.

Argumenti Perl naredbenog retka 2

U izlazu možete vidjeti pogrešnu ulaznu poruku za prosljeđivanje jednog argumenta.


Primjer argumenata Perl naredbenog retka pomoću petlje

Sada ćemo pokrenuti petlju za ispis argumenata naredbenog retka. U ovom primjeru možete unijeti onoliko argumenata koliko želite.

Korak 1 Napravite skriptu petlja.pl u vašem sustavu.

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

Korak 2 Pokrenite skriptu u svojoj konzoli kao perl petlja.pl a b c d e f g h

Argumenti Perl naredbenog retka 3

Pogledajte izlaz iznad, on također prikazuje ukupni broj argumenata proslijeđenih na naredbenom retku. Ovdje smo prošli 8 argumenata.


Perl Getopt::Long

Jednostavne opcije naredbenog retka rade se pomoću opcije ?s. Složene opcije naredbenog retka rade se pomoću Getopt::Std i Getopt::Long.

Getopt je kratica za GetOptions . Obrađuje sadržaj @ARGV-a na temelju konfiguracije koju mu dajemo. Vraća true ili false vrijednost na temelju obrade.

Primjer:

U ovom primjeru dobro dobivamo dob korisnika iz naredbenog retka.

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

Deklarirali smo varijablu $x koji će pohraniti vrijednost umetnutu u --iz sa standardne konzole. The od=s deklarira pozvani parametar naredbenog retka --iz sa nizom iza njega. Dalje se preslikava na varijablu $x. Obrnuta kosa crta () znači da prosljeđujemo referencu na varijablu.

Ova skripta će se prebaciti na the dio samo kada ćemo pokrenuti ovu skriptu prosljeđivanjem nečega što izgleda kao naziv parametra i počinje s a (-) ali nije deklarirano u ovoj skripti.

Sada ćemo pokrenuti ovaj program.

Izlaz:

Argumenti Perl naredbenog retka 4

Pogledajte izlaz, nakon unosa dobi na konzoli, dobili smo gornji izlaz.