getservent

インターネットサービス情報を走査する

構文

解説

getservent はシステムのインターネットサービス情報(Linux では主に /etc/services に登録されている情報)にアクセスし、インターネットサービス情報を返します。引数はありません。

#    0      1         2      3
my ( $name, $aliases, $port, $proto ) = getservent;
No. 変数 意味 実例
0 $name サービス名 pop3
1 $aliases エイリアス (別名) pop-3
2 $port ポート番号 110
3 $proto 下位プロトコル名 tcp

getservent はイテレーターとして機能しますので、一般的には while ループで使われます。 以下のサンプルコードは、サービス名を一覧出力します。

while ( my @info = getservent ) {
    print $info[0], "\n";
}

getservent はスカラーコンテキストであれば、最初の項目であるサービス名のみを返します。 そのため、前述のサンプルコードは次のように書き換えても同じです。

while ( my $name = getservent ) {
    print $name, "\n";
}

なお、getservent は Windows では機能しませんので注意してください。