Listadas abaixo estão algumas das funções padrão para manipulação de diretórios:
opendir DIRHANDLE, EXPR # Abre o diretório readdir DIRHANDLE # Lê o diretório rewinddir DIRHANDLE # Posiciona o ponteiro no início telldir DIRHANDLE # Retorna a posição atual do diretório seekdir DIRHANDLE, POS # Localiza a posição POS especificada para o diretório closedir DIRHANDLE # Fecha o diretório
Mostrar todos os arquivos
Exibir todos os arquivos no diretório O exemplo a seguir usa o operador glob, conforme demonstrado abaixo:
Exemplo
#!/usr/bin/perl # Exibe todos os arquivos no diretório /tmp $dir = " /tmp/ * " ; @arquivos = glob ( $dir ) ; ( @arquivos ) { imprimir $ _ . # Exibe todos os arquivos que terminam com .c no diretório /tmp $dir = " /tmp/*.c " ; @arquivos = glob ( $dir ) ; ( @arquivos ) { imprimir $ _ . #Mostra todos os arquivos ocultos $dir = " /tmp/.* " ; @arquivos = glob ( $dir ) ; ( @arquivos ) { imprimir $ _ . # Exibe todos os arquivos nos diretórios /tmp e /home $dir = " /tmp/* /home/* " ; @arquivos = glob ( $dir ) ; ( @arquivos ) { imprimir $ _ . O exemplo a seguir lista todos os arquivos no diretório atual:
Exemplo
#!/usr/bin/perl abrirdir ( DIR , ' . ' ) ou morrer " Não é possível abrir o diretório, $! " ; ( $arquivo = readdir DIR ) { imprimir " $arquivo n " } fechado DIR ; Se quiser exibir todos os arquivos que terminam com .c no diretório /tmp, você pode usar o seguinte código:
Exemplo
#!/usr/bin/perl abrirdir ( DIR , ' . ' ) ou morrer " Não
é possível abrir o diretório, $! " ; ( organizar grep ( /^.*.c $ /, readdir ( DIR ) ) ) { imprimir " $_ n " ; fechado DIR ; Crie um novo diretório
Podemos usar a função mkdir para criar um novo diretório. Você precisa ter permissões suficientes para criar o diretório antes de executar:
Exemplo
#!/usr/bin/perl $dir = " /tmp/perl " ; # Crie um diretório perl no diretório /tmp mkdir ( $dir ) ou morrer " Não
é possível criar o diretório
$dir , $! " ; " Diretório criado com sucesso n " ; excluir diretório
Podemos usar a função rmdir para excluir um diretório. São necessárias permissões suficientes para executar esta operação. Além disso, o diretório a ser excluído deve ser um diretório vazio:
Exemplo
#!/usr/bin/perl $dir = " /tmp/perl " ; # Exclua o diretório perl no diretório /tmp rmdir ( $dir ) ou morrer " Não
é possível excluir o diretório
$dir , $! " ; " Diretório excluído com sucesso n " ; Alternar diretório
Podemos usar a função chdir para mudar o diretório atual. São necessárias permissões suficientes para executar esta operação. Os exemplos são os seguintes:
Exemplo
#!/usr/bin/perl $dir = " /home " ; # Move o diretório atual para o diretório /home chdir ( $dir ) ou morrer " Não é possível
mudar o diretório para $dir , $! " ; " O diretório em que você está atualmente é $dir n " ; Executando o programa acima, o resultado de saída é:
O diretório em que você está atualmente é /home