Getopt:: Long:: Descriptive - Ошибка в опции spec:

Я новичок в написании операторов использования в perl и имею некоторые ошибки. См. Сообщения об ошибках, вставленные ниже. Начало моего script будет вставлено ниже.

Пожалуйста, дайте мне знать, если вы обнаружите какие-либо синтаксические ошибки или что-то еще, что я делаю неправильно.

Спасибо

$ perl make_keggTable.pl -i ko2genes.pau
Error in option spec: "input file|i=s"
$ perl make_keggTable.pl --help
Error in option spec: "input file|i=s" 
use strict;
use warnings;
use Data::Dumper;
use Getopt::Long::Descriptive;
#use Getopt::Long;
#use Pod::Usage;
## usage and help info
my ( $opt, $usage ) = describe_options(
'make_keggTable.pl %o',
 [ 'input file|i=s', 'file of NCBI locus IDS to Kegg KOs' ],
 [ 'OrgCode|o=s', 'kegg organism code(Pseu.PA14=pau, Pseu.PA01=pae,Salm.14028S=seo,Salm.LT2=stm,Ecoli.MG1655=eco)'],
 [],
 [ 'verbose|v', 'print with verbosity' ],
 [ 'help', 'print usage message and exit' ],
);
if ($opt->help) {
 print $usage->text, "\n";
}
1 ответ

Поскольку perl и Getopt::Long следует стандарту синтаксиса опций Unix, имя параметра не может содержать пробелы. Отбросьте пробел между input file и вы можете скомпилировать.

licensed under cc by-sa 3.0 with attribution.