TOP - Perl - 関数 - seekdir

ディレクトリ情報読み込み時のディレクトリハンドルの位置を設定します。

seekdir ディレクトリハンドル , 値1
ディレクトリハンドル : 位置制御対象のディレクトリハンドル
値1                  : 位置を表す値(telldirの戻り値)

(例)
mkdir "test", 0755;
mkdir "test/test_1", 0755;
mkdir "test/test_2", 0755;

opendir TESTDIR, "test" or die "error $!\n";
@a_dirs = readdir TESTDIR;
closedir TESTDIR;

print "@a_dirs\n";

opendir TESTDIR, "test" or die "error $!\n";
$dir_s = telldir TESTDIR;                       # 最初のディレクトリ位置を保存
$s_dir_1 = readdir TESTDIR;                     # 最初のディレクトリ情報の読み込み
$s_dir_2 = readdir TESTDIR;                     # 2番目のディレクトリ情報の読み込み
$s_dir_3 = readdir TESTDIR;                     # 3番目のディレクトリ情報の読み込み
seekdir TESTDIR, $dir_s;                        # ディレクトリハンドルを保存した位置に設定
$s_dir_4 = readdir TESTDIR;                     # 位置変更後、ディレクトリ情報の読み込み
closedir TESTDIR;

print "\$s_dir_1 = $s_dir_1\n";
print "\$s_dir_2 = $s_dir_2\n";
print "\$s_dir_3 = $s_dir_3\n";
print "\$s_dir_4 = $s_dir_4\n";
実行結果
. .. test_1 test_2
$s_dir_1 = .
$s_dir_2 = ..
$s_dir_3 = test_1
$s_dir_4 = .


Copyright(C) 2006-2011 CLAYPOT. All Rights Reserved.