Perl viene con un archivo :: Buscar módulo que permite al usuario buscar un archivo . El Archivo :: Buscar :: encuentran función desciende a los subdirectorios y visita cada archivo una vez , pasa a una función que proporcione. Dado que Perl es un lenguaje de programación multiplataforma , la función se puede utilizar en muchos sistemas operativos diferentes . Instrucciones
1
importación del "Archivo :: Buscar " módulo utilizando la palabra " uso" . Todas las distribuciones de Perl debe venir con el "File :: Find" del módulo, así que no es necesario instalarlo por separado : " utilice Archivo :: Buscar ";
2
Escribir una función de filtro ya que el "Archivo :: Buscar :: find " función en realidad no hace ningún tipo de filtro . Crear una función de filtro que almacena los archivos en una lista, los imprime , los elimina , los mueve o hace cualquier otra cosa que usted quiere hacer con los archivos . La función de filtro no tiene argumentos , y el nombre del fichero visitado actualmente por archivo :: Buscar :: find estará en la variable default $ _ . En este ejemplo, la función de filtro filtros de archivos basándose en su nombre de archivo y una expresión regular : "sub filtro { if ( . $ _ = ~ /\\ Html $ /i ) {print " $ _ \\ n "; } }" < br >
3
llamar a la función "Archivo :: Buscar :: find " , ya que la palabra "uso" se importó todas las funciones de archivo :: Buscar en el espacio de nombres global. La función "Buscar " toma dos argumentos . El primero es una referencia a la función de filtro , la sintaxis de los cuales se ve un poco extraño.
4
Crear una referencia a la función de " filtro" con el código " \\ & filter" . La barra invertida es el operador de referencia , es decir, se hará una referencia a partir de lo que se le pasa. Por lo general se omite, la y es la función o subrutina prefijo , que se utiliza para denotar funciones. Se utiliza como $ es para escalares , @ para las listas y " %" para hashes .
5
Utilice el segundo parámetro para encontrar el directorio base para buscar . Esto debería ser o bien una ruta absoluta o el directorio actual, indicada por un "." . " find ( \\ y filtro, ". ") ; "
6
pasar una subrutina anónima en lugar de una referencia de función . La palabra clave " sub" hace una subrutina anónima y devuelve una referencia a él , que es útil para una función como archivo :: Buscar :: encontrar si la función que desea es muy corto. Mantiene todo el código en un solo lugar , para que el lector del código no tiene que buscar la función de filtro . En este ejemplo se acaba de imprimir todos los archivos encontrados , sin filtro de expresiones regulares : "encontrar (sub {print " $ _ \\ n "; }," . "); "