Из приведённых примеров видно, что одна и та же программа выполняет похожие, но различающиеся действия, если после имени команды в командной строке указаны различные наборы параметров. В первом запуске seq в командной строке указаны два числа — первый элемент арифметической прогрессии и граница. В этом случае подразумевается единичная разность прогрессии. При втором запуске указаны три числа. Тогда они интерпретируются как первый элемент, разность и граница. Иными словами, если разность прогрессии не задана явно, она принимается равной единице по умолчанию.
Параметры командной сроки (их ещё иногда называют аргументами командной строки) — это чрезвычайно удобный и широко распространённый способ повлиять на работу программы. Мы уже сталкивались с программами, принимающими параметры. Текстовый редактор vim из командной строки узнаёт, с каким файлом следует работать. Компилятор perl — какую программу запускать. Целиком от программиста зависит, будет ли программа использовать параметры командной строки, и, если будет, то как их интерпретировать.
Внутри программы на Perl параметры командной строки видны как элементы
переменной-списка (массива) @ARGV
(от ARGument Vector — список аргументов). До сих
пор мы имели дело с переменными-скалярами, перед именами которых стоял знак
$. Переменные-массивы позволяют хранить список скалярных
значений. С таким списком можно работать как с единым целым, можно работать
также и с отдельными ячейками (элементами), указывая их номера
(индексы). Для работы с массивом как с единым целым
в Perl имеется множество встроенных команд.
В нашей программе потребуется определять размер массива (количество элементов в нём) и извлекать отдельные элементы.