[Cascavel-pm] Dúvida iniciante listar subdiretórios
gilmar
gilmarmoretto.mp em gmail.com
Sexta Setembro 12 06:13:24 PDT 2008
Um bom dia a todos.
Estou começando a aperender perl aos poucos e a mais ou menos, um
mes e por isso o meu problema pode ser até banal mas empaquei nele e não
consigo sair.
Somente para treinar, comecei a fazer um script que possa listar
todos os diretórios e subdiretórios o qual consegui com uma certa
facilidade. Mas comecei a ver que seria um pouquinho mais complicado
quando tivesse que listar muitos níveis de subdiretórios, então
pesquisando eu ví que a solução poderia ser uma função que chamasse a sí
mesma , listasse os subdirtórios e entrasse dentro de cada um a procura
de outros subdiretórios até achar todos.
O problema é que eu não consigo fazer isso e faz alguns dias que não
consigo nenhum avanço. Por isso estou colocando-o para que pudessem dar
uma olhada e me dar uma luz no que estou fazendo de errado.
#!/usr/bin/perl
#our $nivel=1;
#our $subnivel=1;
$diretorioraiz="./";
opendir(diretorioraiz,"$diretorioraiz");
@diretorioraiz=readdir(diretorioraiz);
closedir(diretorioraiz);
# print "@diretorioraiz\q";
foreach my $controle( @diretorioraiz ) {
if ( $controle eq "." ){next}
if ( $controle eq ".." ){next}
if ( -d $controle ) {
print "Diretório $controle\n\n";
sub entradiretorio
{
opendir(diretorio,$controle);
@diretorio=readdir(diretorio);
# $subnivel++;
closedir(diretorio);
print "@diretorio\n";
foreach my $controle( @diretorio ) {
if ( $controle eq "." ){next}
if ( $controle eq ".." ){next}
if ( -d controle ) {
&entrasubdiretorio();
}
}
# $subnivel--;
}
}
}
OBS: Eu fiz questão de colocar até as linhas com códigos comentados para
que vejam que realmente estava testando possibilidades, e o print "
Diretório $controle\n\n" foi só para testar que o script até aquele
ponto estava funcionando corretamente.
Alguém poderia me dar uma luz?
Mais detalhes sobre a lista de discussão Cascavel-pm