Аргументи командне линије се шаљу Перл програму на исти начин као у било ком другом језику. @АРГВ низ садржи аргумент командне линије. Нема потребе да користите варијабле чак и ако користите 'усе стрицт'. Подразумевано, ова променљива увек постоји и вредности из командне линије се аутоматски постављају унутар ове променљиве. Да бисте приступили аргументима командне линије ваше скрипте, само треба да читате из @АРГВ низа.
Перл дозвољава коришћење @АРГВ низа као имена датотека коришћењем . $АРГВ садржи име тренутне датотеке када се чита из .
@АРГВ елементи низа
@АРГВ низ ради исто као и нормалан низ. Његов први аргумент ће бити $АРГВ[0], други $АРГВ[1] и тако даље.
Пример аргумента Перл командне линије
Хајде да видимо једноставан пример за штампање аргумената командне линије. У овом примеру ћемо одштампати поруку добродошлице са именом корисника као аргументом из командне линије. Потребна су нам два аргумента командне линије као име и презиме корисника.
Корак 1 Направите скрипту велцоме.пл у вашем систему.
#!/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. ';
У горњој скрипти, прво ће проверити да ли су наведена два аргумента командне линије или не. Ако није, даће грешку погрешног уноса. И ако јесте, обрађиваће те аргументе као $АРГВ[0] и $АРГВ[1] респективно.
Корак 2 Покрените скрипту у својој конзоли као перл велцоме.пл Цхристиан Греи
Напомена: Пре него што дате ову команду, уверите се да сте у директоријуму који садржи вашу скрипту велцоме.пл
Ово је излаз који ћете добити у својој конзоли.
Корак 2 Покрените скрипту у својој конзоли као перл велцоме.пл Цхристиан
Овде преносимо само један аргумент из командне линије.
У излазу можете видети погрешну поруку уноса за прослеђивање једног аргумента.
Пример аргумената командне линије Перл користећи петљу
Сада ћемо покренути петљу за штампање аргумената командне линије. У овом примеру можете унети онолико аргумента колико желите.
Корак 1 Направите скрипту лооп.пл у вашем систему.
#!/usr/bin/perl $get_args = $#ARGV + 1; print 'Total command line arguments received: $get_args '; foreach $argument (0 .. $#ARGV) { print '$ARGV[$argument] '; }
Корак 2 Покрените скрипту у својој конзоли као перл петља.пл а б ц д е ф г х
Погледајте излаз изнад, он такође приказује укупне аргументе прослеђене на командној линији. Овде смо пренели 8 аргумената.
Перл Гетопт::Лонг
Једноставне опције командне линије се раде помоћу опције ?с. Сложене опције командне линије се раде помоћу Гетопт::Стд и Гетопт::Лонг.
Гетопт означава ГетОптионс . Он обрађује садржај @АРГВ-а на основу конфигурације коју му дамо. Враћа тачну или нетачну вредност на основу обраде.
Пример:
У овом примеру добро добијамо старост корисника из командне линије.
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'; }
Декларисали смо променљиву $к који ће чувати вредност уметнуту у --од са стандардне конзоле. Тхе фром=с декларише параметар командне линије позван --од са низом после њега. Даље се пресликава на променљиву $к. Обрнута коса црта () значи да прослеђујемо референцу на променљиву.
Ова скрипта ће се пребацити на тхе део само када ћемо покренути ову скрипту тако што ћемо проследити нешто што изгледа као име параметра и почиње са а (-) али није декларисан у овој скрипти.
Сада ћемо покренути овај програм.
Излаз:
Погледајте излаз, након уноса старости на конзоли, добили смо горњи излаз.