Кроме того, я бы СТРОГО предложил использовать идиоматический способ обработки аргументов командной строки в Perl, Getopt::Long
модуле (и начать использовать именованные параметры, а не основанные на позиции).
Вы не оченьУХОД, если у вас <3 параметра.Обычно вас волнует, есть ли у вас параметры a, b и C. </p>
Что касается дизайна интерфейса командной строки, то 3 параметра - это то, где находится разрыв между позиционными параметрами (cmd <arg1> <arg2>
) и именованными параметрами.в любом порядке (cmd -arg1 <arg1> -arg2 <arg2>
).
Так что вам лучше делать:
use Getopt::Long;
my %args;
GetOptions(\%args,
"arg1=s",
"arg2=s",
"arg3=s",
) or die "Invalid arguments!";
die "Missing -arg1!" unless $args{arg1};
die "Missing -arg2!" unless $args{arg2};
die "Missing -arg3!" unless $args{arg3};