Есть ли способ принудительно использовать -flags при чтении в аргументах командной строки с использованием Getopt :: Long? Например, в моей нынешней ситуации:Использование флагов Getopt :: Long
GetOptions('r=s' => \$var1,
'lf=f' => \$var2,
'uf=f' => \$var3,
'trd=i' => \$var4,
'vd=f' => \$var5)
or die("$usage");
Сценарий не выходит или дисплей $ использование, если аргументы все еще предоставляются, но без флагов (например, -Если). Вместо этого он запускается независимо от того, когда это неизбежно приведет к ошибкам позже, поскольку аргументы не были прочитаны в их соответствующие переменные (и могут быть в неправильном порядке).
Непонятно, что вы подразумеваете под «флагами». если вы запустите свой код выше с помощью только '-lf' в качестве опции, то« GetOptions »вернет статус ошибки. Вы хотите, чтобы некоторые из параметров были обязательными? – Borodin
@Borodin По флагам я имею в виду -lf, -uf, -trd и -vd. Я могу запустить скрипт без ложного результата: script.pl arg1 arg2 arg3 arg4. Я ожидал, что это не сработает, поскольку это не было предоставлено: script.pl -lf arg1 -uf arg2 -trd arg3 -vd arg4. – AnnaSchumann