use strict; use warnings; use IO::Socket; ## Some Main Stuffs Here ## Get port numbers &get_input(); ## Few Remaing stuffs Here sub get_input { my $default_port = "10001"; print "\nPlease Enter the Port Number [ Default $default_port ] : "; chomp(my $get_port_no=<>); $get_port_no=($get_port_no)?$get_port_no : $default_port; my $free_port = check_port($get_port_no); print "\nFree port is : $free_port\n"; } ## Validate the prompted port number sub check_port { my ($port)=@_; my $host='127.0.0.1'; my $socket = new IO::Socket::INET(PeerAddr => $host.":".$port, Timeout => 5); if ($socket) { print "\nPort $port connected successully\n"; return $port; } else { print "Port $port is currently used by another application\nPlease try again\n"; &get_input(); } }