在数组中有一些输出,我试图从输出以特定单词开始并以特定单词/字符结尾的位置提取详细信息。然后将该输出打印到屏幕上。
我正在使用的数组中的输出是:
router rip
 version 2
 redistribute bgp 45134 metric 3
 passive-interface Serial1/3:1.333
 passive-interface Serial3/1:3.333
 passive-interface Serial3/1:5.333
 passive-interface Serial3/2:1.333
 passive-interface Serial3/4:1.333
 passive-interface Serial3/4:17.333
 passive-interface Serial6/1:1.333
 no auto-summary
 !
 address-family ipv4 vrf TestVRF-0001
 redistribute bgp 45134 metric 3
 network 10.0.0.0
 no auto-summary
 version 2
 exit-address-family
 !
到目前为止,我生成的 perl 代码如下:
    elsif ( $action eq "show_vrf1" ) {
            my $cmd = "show run | begin router rip";
            my @lines = $s->cmd(String => $cmd,
                            Prompt  => "/$enableprompt/",
                            Timeout => 10);
            foreach my $line (@lines) {
                if(/address-family ipv4 vrf TestVRF-0001.*?!/){
                $result=$1;
                print $result;
                }
            }
    }
我只想将以下内容从数组中拉出:
 address-family ipv4 vrf TestVRF-0001
 redistribute bgp 45134 metric 3
 network 10.0.0.0
 no auto-summary
 version 2
 exit-address-family
 !
出于某种原因,当我运行脚本时,我只是得到一个空白屏幕,没有从数组中提取任何数据。