|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Popov Nikita Valentinovich 2:5020/400 08 Sep 2001 13:48:24 To : Sergey Yurevich Subject : Re: Про получение списка фа йлов --------------------------------------------------------------------------------
On Sat, 8 Sep 2001, Sergey Yurevich wrote:
> Вот состряпал код, который бы получал список файлов в
> каталоге и подкоталогах, но что-то не хочет работать. Исправьте плз что
> неправильно.
> &get_list("$SEARCH_DIR");
> sub get_list {
> local($SEARCH_ROOT, $search_sub) = @_;
> chdir("$SEARCH_ROOT$search_sub");
> local(@filenames) = <*>;
> local($file);
> foreach $file (@filenames) {
> if (-d $file && -r $file){
> if ($search_dir){&get_list (SEARCH_ROOT, "$search_sub$file");}
> else{&get_list (SEARCH_ROOT, $file);}
> }
> else {&search_in_file ("$file");}
> }}
>
>
Вот рабочий вариант:
-------------------------------------------------
#!/usr/bin/perl -w
sub get_list {
my @list = ();
my $root = shift;
my $sub_root = shift || "";
$root=~s#/$##;
$sub_root=~s#/$##;
$sub_root.="/" if $sub_root;
my @filenames = `ls $root/$sub_root`;
foreach my $file (@filenames) {
chomp $file;
$file = "$sub_root$file";
push(@list,$file);
if ((-d "$root/$file") && (-r "$root/$file")){
push(@list, get_list($root, $file));
}
}
return @list;
}
print join(' ',get_list(shift))."\n";
---------------------------------------------------
poksh
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6554b6359288.html, оценка из 5, голосов 10
|