これらって、
if($hhh !~ /\.jp$/) {return 1;}
じゃいけないんだろうか?

if($hhh =~ /\d$/) {return 1;}
if($hhh !~ /\./) {return 1;}
if($hhh =~ /\.com$/i) {return 1;}
if($hhh =~ /\.net$/i) {return 1;}
if($hhh =~ /\.fi$/i) {return 1;}
if($hhh =~ /\.tr$/i) {return 1;}
if($hhh =~ /\.za$/i) {return 1;}
if($hhh =~ /\.ph$/i) {return 1;}
if($hhh =~ /\.my$/i) {return 1;}
if($hhh =~ /\.tt$/i) {return 1;}
if($hhh =~ /\.sa$/i) {return 1;}
if($hhh =~ /\.au$/i) {return 1;}
if($hhh =~ /\.vn$/i) {return 1;}
if($hhh =~ /\.ee$/i) {return 1;}
if($hhh =~ /\.ge$/i) {return 1;}
if($hhh =~ /\.dk$/i) {return 1;}
if($hhh =~ /\.cy$/i) {return 1;}
if($hhh =~ /\.uk$/i) {return 1;}
if($hhh =~ /\.de$/i) {return 1;}
if($hhh =~ /\.do$/i) {return 1;}
if($hhh =~ /\.lt$/i) {return 1;}
if($hhh =~ /\.br$/i) {return 1;}