my $key; while () { chomp; if ( my $status = /^interface Vlan/.../^!/ ) { $key = $_ if $status == 1; if ( /^\s*ip address (?:[\d.]+)/ ) { my ($value) = $key =~ /(\d+)/; $hash{$key} = $value; } } }