Hi below code validates the IP adress. Please do let me know how this can be enhanced so that it is more readable.
The validations considered are listed below.
1) If the length of any part of the IP adress seperated by the decimal is more than one digit, then it should not start with zero.
2) The first part of the IP adress seperated by the decimal cannot be zero.
3) Any part of the IP adress seperated by the decimal cannot be more than 255.
4) IP address should contain only 3 decimals.
5) The numbers cannot be negative.
print "Enter the IP address : ";
$ip = <stdin>;
if($ip =~ /^(
3-9\d?|1\d?\d?|2(
0-5?
0-5?|
6-9?))\.(0|
3-9\d?|(1\d?\d?|2(
0-5?
0-5?|
6-9?)))\.(0|
3-9\d?|(1\d?\d?|2(
0-5?
0-5?|
6-9?)))\.(0|
3-9\d?|(1\d?\d?|2(
0-5?
0-5?|
6-9?)))$/) {
print "Correct\n";
}
else {
print "Wrong\n";
}