use strict; use warnings; my $dumpIPs = 0; while () { if ($dumpIPs and /((\d{1,3}\.){3}\d{1,3})/) { print "$1 "; } elsif ($dumpIPs) { print "\n\n"; $dumpIPs = 0; } if (/\b(?:Device|interface|VRID|state|primary address)\b/i) { print; $dumpIPs = 0; } $dumpIPs ||= /Number addresses/; }