У меня есть следующий код в моем сценарии PERL:Perl Getopt :: Long Относящегося Вопрос - Взаимно Эксклюзивные аргументы командной строки
my $directory; my @files; my $help; my $man; my $verbose; undef $directory; undef @files; undef $help; undef $man; undef $verbose; GetOptions( "dir=s" => \$directory, # optional variable with default value (false) "files=s" => \@files, # optional variable that allows comma-separated # list of file names as well as multiple # occurrenceces of this option. "help|?" => \$help, # optional variable with default value (false) "man" => \$man, # optional variable with default value (false) "verbose" => \$verbose # optional variable with default value (false) ); if (@files) { @files = split(/,/,join(',', @files)); }
Каков наилучший способ справиться с взаимоисключающими аргументами командной строки? В моем сценарии я хочу, чтобы пользователь вводил только аргумент командной строки «--dir» или «--files», но не тот и другой. Есть ли способ настроить Getopt для этого?
Спасибо.
Эти undefs не нужны, переменные начинаются с значения undef (или пустые в случае массивов и хэшей). –