sub valid_domain { return $_[0] =~ m{ \A (?: (?!\d+\.) [a-zA-Z0-9]+ (?: -+ [a-zA-Z0-9]+ )* \. )* (?!\d+\z) [a-zA-Z0-9]+ (?: -+ [a-zA-Z0-9]+ )* }x;