gethostent のイテレーションの現在位置をリセットする
sethostent は、gethostent
                のイテレーションの現在位置をリセットします。
                これにより、その後の gethostent による
                hosts ファイルの読み取りは先頭に戻ることになります。
引数 SYAYOPEN には真偽値 (通常は 1 または 0) を与えなければいけませんが、
                真 (1) を与えると hosts ファイルを開いたままにします。
                偽 (0) を与えると hosts ファイルを閉じます。
                sethostent を使う場合は、その後に gethostent
                を使うことが多いでしょうから、SYAYOPEN には 1 を指定することがほとんどでしょう。
            
次のサンプルコードは、gethostent を使って
                3 回ホスト情報を取り出します。
                その後、sethostent でイテレーションの現在位置をリセットしたうえで、
                再度、gethostent を使ってホスト情報を取り出します。
my $name = '';
# ホスト名を 3 回取り出す
$name = gethostent;
print $name, "\n";    # localhost
$name = gethostent;
print $name, "\n";    # DESKTOP-F89S1UF.
$name = gethostent;
print $name, "\n";    # printer.futomi.com
# gethostent のイテレーションの現在位置をリセットする
sethostent 1;
# 再度、ホスト名を取り出す
$name = gethostent;
print $name, "\n";    # localhostこのサンプルコードの出力結果を見てお分かりの通り、sethostent によって
                gethostent によるイテレーションがリセットされていることが分かります。
            
なお、sethostent は Windows では機能しませんので注意してください。