in reply to create key-value pair
One way to do it is to change what constitutes a "line end". In this case ! looks like a good character to choose as a line end character. Consider:
use warnings; use strict; $/ = '!'; while (<DATA>) { next unless /ip address (?:\d+\.){3}\d+/; next unless /interface (\w+(\d+))/; print "$1 -> $2\n"; } __DATA__ interface Vlan1 no ip address no ip route-cache shutdown ! interface Vlan12 ip address 68.142.192.79 255.255.255.0 no ip route-cache shutdown ! interface Vlan8 ip address 68.142.192.79 255.255.255.0 no ip route-cache !
Prints:
Vlan12 -> 2 Vlan8 -> 8
|
|---|