Perl getservbyname Function



This function Translates the service NAME for the protocol PROTO, returning the service number in a scalar context and the number and associated information in a list context:

($name, $aliases, $port_number, $protocol_name)

This call returns these values based on /etc/services file.


Following is the simple syntax for this function −

getservbyname NAME, PROTO

Return Value

This function returns undef on error otherwise service number in scalar context and empty list on error otherwise Service record (name, aliases, port number, protocol name) in list context.


Following is the example code showing its basic usage −


($name, $aliases, $port_number, 
     $protocol_name) = getservbyname("ftp", "tcp");
print "Name = $name\n";
print "Aliases = $aliases\n";
print "Port Number = $port_number\n";
print "Protocol Name = $protocol_name\n";

When above code is executed, it produces the following result −

Name = ftp
Aliases = 
Port Number = 21
Protocol Name = tcp