サービス名からサービス情報を取得する
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 |