サービス名からサービス情報を取得する
getservbyname
は、NAME に指定したサービス名と
PROTO に指定した下位プロトコル名から、システムに対して該当するインターネットサービス情報を要求します。
スカラーコンテキストなら、getservbyname
はポート番号を返します。
もし該当のサービスが見つからなければ undef
を返します。
my $port = getservbyname( 'pop3', 'tcp' );
if ( defined $port ) {
print $port, "\n"; # 110
}
getservbyname
はリストコンテキストなら次のようにサービス情報をリストで返します。
# 0 1 2 3
my ( $name, $aliases, $port, $proto ) = getservbyname( 'pop3', 'tcp' );
No. | 変数 | 意味 | 実例 |
---|---|---|---|
0 | $name |
サービス名 | pop3 |
1 | $aliases |
エイリアス (別名) | pop-3 |
2 | $port |
ポート番号 | 110 |
3 | $proto |
下位プロトコル名 | tcp |