プロトコル情報を走査する
getprotoent はシステムのプロトコル情報(Linux では主に /etc/protocols に登録されている情報)にアクセスし、
プロトコル情報を返します。引数はありません。
# 0 1 2
my ( $name, $aliases, $proto ) = getprotoent;
| No. | 変数 | 意味 | 実例 |
|---|---|---|---|
| 0 | $name |
プロトコル名 | icmp |
| 1 | $aliases |
エイリアス (別名) | ICMP |
| 2 | $proto |
プロトコル番号 | 1 |
getprotoent はイテレーターとして機能しますので、一般的には while ループで使われます。
以下のサンプルコードは、取得したプロトコル名を一覧出力します。
while ( my @info = getprotoent ) {
print $info[0], "\n";
}
getprotoent はスカラーコンテキストであれば、最初の項目であるプロトコル名のみを返します。
そのため、前述のサンプルコードは次のように書き換えても同じです。
while ( my $name = getprotoent ) {
print $name, "\n";
}
なお、getprotoent は Windows では機能しませんので注意してください。