my $netStats = ""; $netStats = `ip addr show`; my @networksDevices = split (m/^\d{1,2}\:\s/gm, $netStats); shift @networksDevices; my %interfaces; for my $device (@networksDevices) { #print Dumper($device); if ($device =~ /^(.+)\: \<(.+)\>.*mtu (\d+).*state (UP|DOWN|UNKNOWN)/gm) { %interfaces = ( $1 => {options => $2, mtu => $3, state => $4 }); } if ($device =~ /inet (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\/\d{1,2}/gm) { #print Dumper($1); } } print Dumper(%interfaces);