Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Socket::GetAddrInfo::SUsertContributed Perl DocuSocket::GetAddrInfo::Strict(3)

NAME
       "Socket::GetAddrInfo::Strict" - Provide Socket::GetAddrInfo functions
       which throw exceptions

SYNOPSIS
	use Socket qw( SOCK_STREAM );
	use Socket::GetAddrInfo::Strict	qw( getaddrinfo	getnameinfo );
	use IO::Socket;

	my $sock;

	my %hints = ( socktype => SOCK_STREAM );
	my @res	= getaddrinfo( "www.google.com", "www",	\%hints	);

	while( my $ai =	shift @res ) {

	   $sock = IO::Socket->new();
	   $sock->socket( $ai->{family}, $ai->{socktype}, $ai->{protocol} ) or
	      undef $sock, next;

	   $sock->connect( $ai->{addr} ) or undef $sock, next;

	   last;
	}

	if( $sock ) {
	   my (	$host, $service	) = getnameinfo( $sock->peername );
	   print "Connected to $host:$service\n";
	}

DESCRIPTION
       Socket::GetAddrInfo provides the	functions of "getaddrinfo" and
       "getnameinfo", which return lists whose first element is	error value,
       or false	indicating no error occured.

       This module wraps the functions provided	by "Socket::GetAddrInfo" to
       check this error	value, and throw an exception (using "die") if an
       error occured.  If not, then the	remaining values are returned as
       normal. This can	simplify the logic of a	program	which otherwise	simply
       throws its own exception	on failure anyway.

FUNCTIONS
   @res	= getaddrinfo( $host, $service,	$hints )
       After a successful lookup, returns the list of address structures, as
       documented in Socket::GetAddrInfo. If the lookup	fails, an exception
       containing the string form of the error is thrown instead.

   ( $host, $service ) = getnameinfo( $addr, $flags, $xflags )
       After a successful lookup, returns the host and service name, as
       documented in Socket::GetAddrInfo. If the lookup	fails, an exception
       containing the string form of the error is thrown instead.

AUTHOR
       Paul Evans <leonerd@leonerd.org.uk>

perl v5.24.1			  2017-07-02	Socket::GetAddrInfo::Strict(3)

NAME | SYNOPSIS | DESCRIPTION | FUNCTIONS | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Socket::GetAddrInfo::Strict&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help