getservbyname

サービス名からサービス情報を取得する

構文

解説

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