diff options
-rwxr-xr-x | scripts/mosh.pl | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/scripts/mosh.pl b/scripts/mosh.pl index 37eb1ff..40a9309 100755 --- a/scripts/mosh.pl +++ b/scripts/mosh.pl @@ -30,18 +30,24 @@ # this exception statement from all source files in the program, then # also delete it here. -use 5.14.0; +use 5.10.0; use warnings; use strict; use Getopt::Long; use IO::Socket; use Text::ParseWords; -use Socket qw( getaddrinfo getnameinfo AI_CANONNAME AI_NUMERICHOST NI_NUMERICHOST - IPPROTO_IP IPPROTO_IPV6 IPPROTO_TCP IPPROTO_UDP ); +use Socket qw( IPPROTO_IP IPPROTO_IPV6 IPPROTO_TCP IPPROTO_UDP ); use Errno qw(EINTR); use POSIX qw(_exit); +BEGIN { + my @gai_reqs = qw( getaddrinfo getnameinfo AI_CANONNAME AI_NUMERICHOST NI_NUMERICHOST ); + eval { Socket->import( @gai_reqs ); 1; } + || eval { require Socket::GetAddrInfo; Socket::GetAddrInfo->import( ':newapi', @gai_reqs ); 1; } + || eval { Socket::GetAddrInfo->import( '0.22', @gai_reqs ); 1; } + || die "$0 error: requires Perl 5.14 or Socket::GetAddrInfo.\n"; +} my $have_ipv6 = eval { require IO::Socket::IP; |