setgrent

getgrent のイテレーションの現在位置をリセットする

構文

解説

setgrent は、getgrent のイテレーションの現在位置をリセットします。 これにより、その後の getgrent による group ファイルの読み取りは先頭に戻ることになります。

次のサンプルコードは、getgrent を使って 3 回グループ情報を取り出します。 その後、setgrent でイテレーションの現在位置をリセットしたうえで、 再度、getgrent を使ってグループ情報を取り出します。

my $name = '';

# グループ名を 3 回取り出す
$name = getgrent;
print $name, "\n";    # root

$name = getgrent;
print $name, "\n";    # daemon

$name = getgrent;
print $name, "\n";    # bin

# getgrent のイテレーションの現在位置をリセットする
setgrent;

# 再度、グループ名を取り出す
$name = getgrent;
print $name, "\n";    # root

このサンプルコードの出力結果を見てお分かりの通り、setgrent によって getgrent によるイテレーションがリセットされていることが分かります。

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