|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexander V. Gaiduk 2:5020/400 09 Aug 2002 10:32:02 To : Alexander V. Gaiduk Subject : Hа: Рекурсивный обход каталогов --------------------------------------------------------------------------------
> > Помогите, пожалуйста, разобраться, почему не работает у меня функция
> > рекурсивного обхода каталогов.
> > Упрощенно вот она:
>
> [грызь]
>
> > Помогите, пожалуйста.
>
> &scandir('/мой/секретный/каталог');
>
> sub scandir {
> my $d;
> my $nd;
> opendir(DIR, $_[0]);
> foreach $d (sort { $a cmp $b } readdir(DIR)) {
> if (($d ne ".") && ($d ne "..")) {
> $nd = $_[0] . "/" . "$d";
> if ( -d $nd ) {
> # print "$nd\n"; # print directory names
> &scandir($nd);
> } else {
> print "$nd\n"; # print file names
> }
> }
> }
> closedir(DIR);
> }
забыл,
надо в строчку "if ( -d $nd ) {" добавить проверку, чтоб по симлинкам не
лазил.
а то в линухе попав в каталог /proc... ну последствия рассказывать думаю не
надо.
--- ifmail v.2.15dev5
* Origin: LesoBANK (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/11999531f9614.html, оценка из 5, голосов 16
|