これは私の問題です。私は Perl の知識があまりなく、この機能を修正する必要があります。
この関数deviceModelMenu()
が呼び出されると、CLI は次のテキストを表示します。
以下のモデルが利用可能です ================================================== 1. 2.Cisco1240 3. 触媒3750 4. 触媒3650 5. HP2524
最初の項目が空で、これは間違っています。これを修正する必要があります。このメニューを表示するコードは次のとおりです。
my $features = shift;
print "=" x 50, "\n";
print "The following models are available\n";
print "=" x 50, "\n";
my $i=1;
foreach (keys %{$features->{features}[0]->{deviceModel}})
{
print "$i. $_ \n";
$i++;
}
次の行を追加すると:
warn Dumper($features->{features}[0]->{deviceModel});
これをダンプします:
$VAR1 = { 'デバイスモデル' => { '' => { 'cfg' => [] }、 'Cisco1240' => { 'cfg' => [ 「cisco1240feature.cfg」 ] }、 'Catalyst3750' => { 'cfg' => [ 「catalyst3750feature.cfg」 ] }、 'Catalyst3650' => { 'cfg' => [ 「catalyst3650feature.cfg」 ] }、 'HP2524' => { 'cfg' => [ 「hp2524feature.cfg」 ] } } };
お気づきかもしれませんが、最初の項目は実際には空です。次の行を追加してスキップし、残りの情報を出力するだけです。
if ($_ eq '') {
shift;
}
しかし、そうではないようです仕事私がしたいことをしてください。項目が空の場合はスキップしたい。