我正在使用
Net::Netconf::Manager
使用RPC命令查询设备。在RPC命令中,我应该发送一个参数列表,所以我在哈希中添加查询参数。其中一个论点是verbosity_level
请注意我在此参数中使用下划线_
。当我打印哈希时,它仍然是下划线。
但是当我打印发送到设备的XML RPC请求时,参数更改为verbosity-level
<verbosity-level>abcd</verbosity-level>
而不是
<verbosity_level>abcd</verbosity_level>
因此该设备表示它不知道这样的论点。
为什么下划线会转换为连字符?
答案 0 :(得分:2)
执行此操作的代码位于第492行
Net/Netconf/Device.pm
。这是一个简单的替换,没有任何评论可以解释它为什么存在
我能想到的就是注释掉那一行
($tag = $field) =~ s/_/-/g
并将其替换为
$tag = $field
应该让事情顺利进行。与此同时,您可以通过 netconf-support@juniper.net 向 Juniper Networks Perl团队发送电子邮件并询问相关信息。如果您这样做,请告诉我们回复