3

我是使用 perl 编写用法语句的新手,并且遇到了一些错误。请参阅下面粘贴的错误消息。我的脚本的开头粘贴在下面。

如果您发现任何语法错误或我做错了什么,请告诉我。

谢谢

$ 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";
}
4

1 回答 1

2

perlGetopt::Long遵循 Unix 的选项语法标准,选项名称不能包含空格。去掉中间的空格input file,你就可以编译了。

于 2013-09-25T09:25:45.787 回答