use strict;
my $str = 'lo0
Description : lo0
Status : Up
Interface Type : Loopback
DHCP : Disabled
MAC Address : 30-03-27-E3-3B-03
FQDD : Not Applicable
IPv4 Address : 127.0.0.1
Subnet Mask : 255.0.0.0
vmk0
Description : vmnic0/Management Network/vmk0
Status : Up
Interface Type : Ethernet
DHCP : Enabled
DHCPServerV4 : 100.98.65.10
MAC Address : 50-9A-4C-9C-99-8D
FQDD : NIC.Embedded.1-1-1
IPv4 Address : 100.98.68.239
Subnet Mask : 255.255.252.0
IPv6 Address : fe80::529a:4cff:fe9c:998d
Prefix Length : 64
IPv4 Gateway Address : 100.98.68.1
IPv4 DNSServer Address 0: 10.7.7.7
IPv4 DNSServer Address 1: 10.8.8.8
vmk1
Description : vusb0/iDRAC Network/vmk1
Status : Up
Interface Type : Ethernet
DHCP : Disabled
MAC Address : 00-50-56-6E-6F-99
FQDD : Not Applicable
IPv4 Address : 169.254.10.12
Subnet Mask : 255.255.255.0
IPv6 Address : fe80::250:56ff:fe6e:6f99
Prefix Length : 64
IPv4 DNSServer Address 0: 10.7.7.7
IPv4 DNSServer Address 1: 10.8.8.8
vmk2
Description : vmnic1/iDRAC Network/vmk2
Status : Up
Interface Type : Ethernet
DHCP : Disabled
MAC Address : 00-50-56-6E-6F-99
FQDD : Not Applicable
IPv4 Address : 169.254.3.1
Subnet Mask : 255.255.255.0
IPv6 Address : fe80::250:56ff:fe6e:6f99
Prefix Length : 64
IPv4 DNSServer Address 0: 10.7.8.9
IPv4 DNSServer Address 1: 10.3.2.1
racadm>>';
my $regex = qr~^Description\h*:\h*vusb0/iDRAC\h*Network/.*(?:.*\R)+?IPv4 Address\h+:\h*(\d{1,3}(?:\.\d{1,3}){3})~mp;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html