1 2 3 4 012345678901234567890123456789012345678901234567 permit ip host 10.11.1.1 192.168.100.0 0.0.0.255 #### if ( my ($pairs) = $entry =~ /^ \s* permit \s+ ip \s+ (?: host \s+ \S+ \s+ )? (.*)/x ) { while ( $pairs =~ /(\S+) \s+ (\S+)/xg ) { my ($ip, $mask) = ($1, $2); ... $ip ... $mask ... } }