> I have a small perl script which checks to see if input is a
> hostname or an IP address before writing it to a file.
>
> I was just checking to see if the first char was a number or a
> digit but there are some cases where a hostname can start with a
> number. (like 3.14159.com for example)
>
> So the question is, if I have a variable like $nameserver
> how can I test to see if it's a hostname or an IP?
Here's one way to do it. It's not fool proof since it doesn't
validate legal IP/Domain formats, but it's a starting point.
@array = split(/\./,$nameserver);
$string = join('',@array);
if ($string =~ /\D/) {
$IP = 'no';
} else {
$IP = 'yes';
}
Another simple way would be to check for a TLD extension.
@array = split(/\./,$nameserver);
if (@array[-1] =~ /\d/) {
$IP = 'yes';
} else {
$IP = 'no';
}
Validating Domains and IP's is alot more intensive, because
there are numerous (and occasionally changing) factors to check for.
===================
Shaun Fryer
===================
London Webmasters
http://LWEB.NET
PH: 519-858-9660
FX: 519-858-9024
===================
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]