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 に答える