Reportar Directorias Vazias

Aqui fica um pequeno script para encontrar pastas vazias dentro de uma directoria.Este script utiliza o módulo File::Find::Rule para criar a listagem de todas as directorias e sub-directorias, utilizando uma directoria de partida.
Este script pode servir de base para a criação de um script para gerir directorias e apagar directorias vazias caso seja necessário.Para tal basta fazer pequenas alterações .

Para poderem executar este script teram que ter o módulo File::Find::Files instalado , para tal basta executarem o seguinte comando na linha de comandos:

sudo cpan
install " File::Find::Rule"

Tendo o módulo instalado já poderam executar este script.

#!/usr/bin/perl
use strict;
use warnings;
use File::Find::Rule;
my @sub_dirs;

&Main();

sub Main(){
    #leitura da directória por argumento
    chomp(my $path = $ARGV[0]);
    #Listagem de todos os directórios
    my $regra_pesquisa = File::Find::Rule->new;
    $regra_pesquisa->directory;
    @sub_dirs = $regra_pesquisa->in($path);
    &AnalisarDirs();
}
sub AnalisarDirs(){
    my @emptydirs;
    my $file2;
    foreach $file2 (@sub_dirs){
        opendir(FILE, "$file2") or die($!);
        readdir FILE;
        readdir FILE;
        if(!(readdir FILE)){
            print "$file2 : directório vazion";
            push(@emptydirs, $file2);
        }
        closedir(FILE) or die "$!";
    }
    ########Totalizaçao dos directorios###########
    my $total = @sub_dirs;
    my $vazio = @emptydirs;
    print "Total directórios" . $total .", directórios vazios " . $vazio . "n";
}