A continuación se enumeran algunas de las funciones estándar para manipular directorios:
opendir DIRHANDLE, EXPR # Abrir el directorio readdir DIRHANDLE # Leer el directorio rewinddir DIRHANDLE # Posicionar el puntero al inicio telldir DIRHANDLE # Devolver la posición actual del directorio seekdir DIRHANDLE, POS # Localizar la posición POS especificada en el directoriocloser DIRHANDLE # Cerrar el directorio
Mostrar todos los archivos
Muestra todos los archivos en el directorio. El siguiente ejemplo utiliza el operador global, como se muestra a continuación:
Ejemplo
#!/usr/bin/perl # Mostrar todos los archivos en el directorio /tmp $dir = " /tmp/ * " ; @archivos = glob ( $directorio ) ; ( @archivos ) { imprimir $_ . " n " ; # Mostrar todos los archivos que terminan en .c en el directorio /tmp $dir = " /tmp/*.c " ; @files = glob ( $directorio ) ; ( @archivos ) { imprimir $_ . " n " ; # Mostrar todos los archivos ocultos $dir = " /tmp/.* " ; @files = glob ( $directorio ) ; ( @archivos ) { imprimir $_ . " n " ; # Mostrar todos los archivos en los directorios /tmp y /home $dir = " /tmp/* /home/* " ; @files = glob ( $directorio ) ; ( @archivos ) { imprimir $_ . " n " ; El siguiente ejemplo enumera todos los archivos en el directorio actual:
Ejemplo
#!/usr/bin/perl abrirdir ( DIR , ' . ' ) o morir " No se puede abrir el directorio, $! " ; ( $archivo = readdir DIR ) { imprimir " $archivo n " ; cerrado DIR ; Si desea mostrar todos los archivos que terminan en .c en el directorio /tmp, puede usar el siguiente código:
Ejemplo
#!/usr/bin/perl opendir ( DIR , ' . ' ) o morir " No se puede abrir el directorio, $ ! " ; ( clasificar grep ( /^.*. c $/, readdir ( DIR ) ) ) { imprimir " $_ n " ; cerrado DIR ; Crear un nuevo directorio
Podemos usar la función mkdir para crear un nuevo directorio. Debe tener permisos suficientes para crear el directorio antes de ejecutar:
Ejemplo
#!/usr/bin/perl $dir = " /tmp/perl " # Crea un directorio perl en el directorio /tmp mkdir ( $directorio ) o morir " No se
puede crear el directorio
$dir , $! " ; " Directorio creado exitosamente n " ; eliminar directorio
Podemos usar la función rmdir para eliminar un directorio. Se requieren permisos suficientes para realizar esta operación. Además, el directorio a eliminar debe ser un directorio vacío:
Ejemplo
#!/usr/bin/perl $dir = " / tmp/perl " # Eliminar el directorio perl en el directorio /tmp rmdir ( $directorio ) o morir " No se
puede eliminar el directorio
$dir , $! " ; " Directorio eliminado exitosamente n " ; Cambiar directorio
Podemos usar la función chdir para cambiar el directorio actual. Se requieren permisos suficientes para realizar esta operación. Los ejemplos son los siguientes:
Ejemplo
#!/usr/bin/perl $dir = " / home " # Mover el directorio actual al directorio /home chdir ( $directorio ) o morir " No se puede
cambiar el directorio a $dir , $! " ; " El directorio en el que se encuentra actualmente es $dir n " ; Al ejecutar el programa anterior, el resultado de salida es:
El directorio en el que se encuentra actualmente es /home