Я пытаюсь собрать значения из командной строки, используя Getopt :: Std в моем скрипте Perl.
use Getopt::Std;
$Getopt::Std::STANDARD_HELP_VERSION = 1;
getopts('i:o:p:');
my $inputfile = our $opt_i;
my $outputfile = our $opt_o;
my $parameter_value = our $opt_p;
Здесь первые две переменные ($ inputfile, $ outputfile) являются обязательными, но последняя переменная ($ parameter_value) является необязательной и может игнорироваться.
Я пытаюсь установить некоторое значение по умолчанию для последней переменной ($ parameter_value), когда в командной строке игнорируется флаг -p
.
Я пытался использовать это:
my $parameter_value = our $opt_p || "20";
Здесь он передает правильное значение, когда флаг -p игнорируется в командной строке. Но проблема в том, что когда я предоставляю какое-то значение из командной строки (например, -p 58), в программу передается то же значение 20, а не 58, которое я передавал из командной строки.
Не могли бы вы помочь мне, указав на ошибки, которые я здесь делаю?
Спасибо.