プロトコル情報を走査する
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 では機能しませんので注意してください。