чтение поддиректорий
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



чтение поддиректорий Expand / Collapse
Автор
Сообщение
04.05.2005 14:11
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 04.05.2005 14:04
Сообщ.: 2, Visits: 23
подскажите, плз, как при чтении директории

opendir(DIR, "./$dir") || die "Can't open dir $dir : $!";
my @items = readdir( DIR );
closedir(DIR);


отделить файлы от поддиректорий ?
Сообщ. #867526
06.05.2005 10:51
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 13.07.2006 17:05
Сообщ.: 124, Visits: 1 356
Для начала грепни вывод readdir (убери текущий и родительский каталоги). Так:

@files=grep(!/\.\.?$/,readdir(DIR));

для фильтрации подкаталогов можно сделать так:

foreach (@files) {
push(@items,$_) if(-e $_);# загоняем в массив items все файлы
}


PerlMonks.Org.Ru.... coming soon
Сообщ. #867764
07.05.2005 13:48
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 13.07.2006 17:05
Сообщ.: 124, Visits: 1 356
Для начала грепни вывод readdir (убери текущий и родительский каталоги). Так:

@files=grep(!/\.\.?$/,readdir(DIR));

для фильтрации подкаталогов можно сделать так:

foreach (@files) {
push(@items,$_) if(-f $_);# загоняем в массив items все файлы
}

# в предыдущем примре ошибся - заместо -e пишите -f - это будут только файлы.
Вообще можно еще короче:

@files=grep(!/\.\.?$/,readdir(DIR));

foreach (@files) {
shift(@files) unless(-f $_);# выдергиваем из массива все Не файлы
}


PerlMonks.Org.Ru.... coming soon
Сообщ. #867847
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 11:14