logo

Perl komandrindas argumenti

Komandrindas argumenti tiek nosūtīti Perl programmai tāpat kā jebkurā citā valodā. @ARGV masīvā ir komandrindas arguments. Nav nepieciešams izmantot mainīgos, pat ja izmantojat stingru. Pēc noklusējuma šis mainīgais vienmēr pastāv, un komandrindas vērtības tiek automātiski ievietotas šajā mainīgajā. Lai piekļūtu skripta komandrindas argumentiem, jums vienkārši jālasa no @ARGV masīva.

Perl ļauj izmantot @ARGV masīvu kā failu nosaukumus, izmantojot . $ARGV satur pašreizējā faila nosaukumu, lasot no .

@ARGV masīva elementi

@ARGV masīvs darbojas tāpat kā parasts masīvs. Tā pirmais arguments būs $ARGV[0], otrais $ARGV[1] un tā tālāk.


Perl komandrindas argumenta piemērs

Apskatīsim vienkāršu piemēru komandrindas argumentu drukāšanai. Šajā piemērā mēs izdrukāsim sveiciena ziņojumu ar lietotāja vārdu kā argumentu no komandrindas. Mums ir nepieciešami divi komandrindas argumenti kā lietotāja vārds un uzvārds.

1. darbība Izveidojiet skriptu laipni lūdzam.pl jūsu sistēmā.

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

Iepriekš minētajā skriptā vispirms tiks pārbaudīts, vai ir vai nav norādīti divi komandrindas argumenti. Ja nē, tiks parādīta nepareiza ievades kļūda. Un, ja jā, tas apstrādās šos argumentus attiecīgi kā $ARGV[0] un $ARGV[1].

2. darbība Palaidiet skriptu savā konsolē kā perl welcome.pl Kristians Grejs

Piezīme. Pirms šīs komandas došanas pārliecinieties, vai atrodaties direktorijā, kurā ir jūsu skripts welcome.pl

Perl komandrindas argumenti 1

Šī ir izvade, ko iegūsit savā konsolē.

2. darbība Palaidiet skriptu savā konsolē kā perl welcome.pl Christian

Šeit mēs nododam tikai vienu argumentu no komandrindas.

Perl komandrindas argumenti 2

Izvadē var redzēt nepareizu ievades ziņojumu viena argumenta nodošanai.


Perl komandrindas argumentu piemērs, izmantojot cilpu

Tagad mēs izpildīsim cilpu, lai izdrukātu komandrindas argumentus. Šajā piemērā varat ievadīt tik daudz argumentu, cik vēlaties.

1. darbība Izveidojiet skriptu cilpa.pl jūsu sistēmā.

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

2. darbība Palaidiet skriptu savā konsolē kā perl cilpa.pl a b c d e f g h

Perl komandrindas argumenti 3

Apskatiet iepriekš redzamo izvadi, tajā tiek parādīti arī komandrindā nodotie argumenti. Šeit mēs esam izturējuši 8 argumentus.


Perl Getopt::Long

Vienkāršās komandrindas opcijas tiek veiktas, izmantojot opciju? Sarežģītas komandrindas opcijas tiek veiktas, izmantojot Getopt::Std un Getopt::Long.

Getopt apzīmē GetOptions . Tā apstrādā @ARGV saturu, pamatojoties uz konfigurāciju, ko tam piešķiram. Tas atgriež patieso vai nepatieso vērtību, pamatojoties uz apstrādi.

Piemērs:

Šajā piemērā mēs labi iegūstam lietotāja vecumu no komandrindas.

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

Mēs esam deklarējuši mainīgo $x kurā tiks saglabāta ievadītā vērtība --no no standarta konsoles. The no=s deklarē izsaukto komandrindas parametru --no ar virkni aiz tā. Tas tiek kartēts tālāk ar mainīgo $x. Slīpsvītra () nozīmē, ka mēs nododam atsauci uz mainīgo.

Šis skripts tiks pārslēgts uz uz daļa tikai tad, kad mēs izpildīsim šo skriptu, nododot kaut ko, kas izskatās pēc parametra nosaukuma un sākas ar a (-) bet nav deklarēts šajā skriptā.

Tagad mēs palaidīsim šo programmu.

Izvade:

Perl komandrindas argumenti 4

Paskatieties uz izvadi, pēc vecuma ievadīšanas konsolē mēs saņēmām iepriekš minēto izvadi.