这是我的问题,我对 Perl 不是很了解,而且我有这个功能需要修复。
调用此函数时deviceModelMenu()
,CLI 会显示以下文本:
有以下型号可供选择 ==================================================== 1. 2.思科1240 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' ] }, '催化剂3750' => { 'cfg' => [ 'catalyst3750feature.cfg' ] }, 'Catalyst3650' => { 'cfg' => [ 'catalyst3650feature.cfg' ] }, 'HP2524' => { 'cfg' => [ 'hp2524feature.cfg' ] } } };
您可能会注意到,第一项确实是空的。我添加了以下行以跳过它,并仅打印其余信息:
if ($_ eq '') {
shift;
}
但是好像没有工作做我想做的。如果它是空的,我想跳过它。