Помогите ламерку... похожего топа не нашёл решил сюда запостить...
Проблема: надо написать скрипт на перле, который:
- в данной директории показывает список папок в ней (только в ней - во влженных не надо) и их размер (соответственно с подпапками считать);
- показывал бы тоже самое, но только размер файлов (во всей папке с подпапками) считал бы не для всех файлов, а только по заданной маски - например выдать размер всех файлов *.doc каждой подпапки в данной папке.
Сам в перле начинающий... надыбал скрипт на форуме, видоизменил (пока только для 1-го случая) - но что-то не пашет:
Код:
#! perl -w
use strict;
sub dir_ls {
        my $save_dir;
        my $root = shift;
        local *DIR_LS;
 
        opendir DIR_LS ,$root;
 
        while (my $file = readdir (DIR_LS) ) {
               next if $file =~ /^\\.\\.?$/;
               print "$root/$file\\n";
               if (-d "$root/$file") {
                   $count_d++;
                   dir_ls ("$root/$file");
               } else {
                   $dir_size += (stat("$root/$file"))[7];
                   $count_f++;
print "$count_f";
               }
        }
print "\\n\\nTotal -\\nDirs: $count_d\\nFiles: $count_f\\nSize: $dir_size\\n";
}
 
opendir FDIR, ".";
while($nm = readdir FDIR){
next if ($nm eq ".");
next if ($nm eq "..");
 
$stat     = 0;
$count_f  = 0;
$count_d  = 0;
$dir_size = 0;
     dir_ls ($nm);  
}
closedir FDIR;
типа пишет : "Global symbol "$count_d" requires explicit package name" для всех переменных - что не так!? Заранее спасибо, если кто поможет.... ну а если посоветуют ещё и конструкцию  для 2-го варианта (чтобы размер файлов по маске считал0 - то будет вообще счастье! Зараенее спасибо!