Perl est livré avec un fichier :: Trouvez module qui permet à un utilisateur de rechercher un fichier . Le File :: Find :: find fonction descend dans les sous-répertoires et rend visite à chaque fichier une fois , en passant à une fonction que vous fournissez. Depuis Perl est un langage de programmation multi-plateforme, la fonction peut être utilisée sur de nombreux systèmes d'exploitation différents . Instructions
1
importer le " File :: Find " module en utilisant l'option "Utiliser " mot-clé . Toutes les distributions Perl devrait venir avec le " File :: Find " module, de sorte qu'il n'est pas nécessaire de l'installer séparément : " utiliser File :: Find ; "
2
Écrire une fonction de filtre depuis le menu "Fichier :: Recherche :: find " fonction ne pas réellement faire aucun filtrage. Créer une fonction de filtrage qui stocke les fichiers dans une liste, les imprime , les supprime , déplace ou ne leur tout ce que vous voulez faire avec les fichiers . La fonction de filtre ne prend aucun argument et le nom du fichier actuellement visité par File :: Find :: find sera dans la variable par défaut $ _ . Dans cet exemple, la fonction de filtrage des fichiers de filtres en fonction de leur nom de fichier et une expression régulière : " filtre sub { if ( . $ _ = ~ /\\ Html $ /i ) {print" $ _ \\ n "; }}" < br >
3
appeler la fonction " File :: Find :: find " , puisque "l'utilisation" mot-clé importé toutes les fonctions de File :: Find dans l' espace de noms global . La fonction "Rechercher" prend deux arguments . La première est une référence à la fonction de filtre , dont la syntaxe est un peu bizarre.
4
Créer une référence à la fonction " filtre" en utilisant le code " \\ & filter " . La barre oblique inverse est l'opérateur de référence, ce qui signifie qu'il va faire une référence sur tout ce qui est lui est passé. Habituellement omis, le & est la fonction ou le préfixe de sous-programme , utilisé pour désigner les fonctions . Il est utilisé comme $ est pour les scalaires , @ pour les listes et " %" pour hashes .
5
Utilisez le second paramètre de trouver le répertoire de base pour la recherche. Cela doit être soit un chemin absolu ou le répertoire courant , désigné par un "." . " find ( \\ & filtre, ". ") ; "
6
passer une fonction anonyme à la place d'une référence de fonction . Le " sous " mot-clé permet une fonction anonyme et renvoie une référence à ce qui est utile pour une fonction comme File :: Find :: trouver si la fonction que vous voulez, c'est très court. Il garde tout le code en un seul endroit , de sorte que le lecteur du code n'a pas à rechercher la fonction de filtre . Cet exemple suffit d'imprimer tous les fichiers trouvés , sans filtre regex : " find ( sub { print" $ _ \\ n "; } , ". ") ; "