print "$_: ", m[^\w+(?:\.\w+)*$] ? "matched\n" : "failed\n" for qw[ one one.two one.two.three four.five.six.seven one. one-two ];; one: matched one.two: matched one.two.three: matched four.five.six.seven: matched one.: failed one-two: failed