Utilisation de la fonction Perl Glob

Utilisation de la fonction Perl Glob
«La fonction perl glob () est principalement utilisée pour récupérer tout le contenu ou le contenu particulier d'un répertoire. Le modèle d'expression régulière peut être utilisé avec cette fonction pour correspondre aux fichiers et dossiers particuliers d'un répertoire. Différents symboles sont utilisés pour définir le modèle qui sera utilisé pour récupérer le contenu du répertoire actuel ou du répertoire spécifique. Les utilisations de la fonction glob () sans modèle et avec le motif ont été montrées dans ce tutoriel."

Syntaxe
Différentes syntaxes de la fonction glob () sont mentionnées ci-dessous.

  1. glob (Directory_Path)
    La syntaxe globale ci-dessus est utilisée pour rechercher le contenu d'un chemin de répertoire particulier qui sera mentionné dans l'argument.
  2. GLOB EXPR;
    La syntaxe globale ci-dessus est utilisée pour rechercher le contenu du répertoire en fonction du modèle de correspondance.

La fonction glob () renvoie la liste des fichiers et dossiers du répertoire particulier.

Métacharacteurs

Les métacharacteurs suivants sont couramment utilisés pour écrire des modèles d'expression réguliers dans Perl

Personnage Description
. Il est utilisé pour correspondre à n'importe quel personnage sans nouvelle ligne ('\ n').
* Il est utilisé pour correspondre à n'importe quel caractère zéro ou plus de fois.
? Il est utilisé pour correspondre à n'importe quel caractère pour zéro ou une fois.
() Il est utilisé pour le regroupement.
[…] Il est utilisé pour définir la classe de caractères.
~ Il est utilisé pour correspondre au répertoire domestique.
Il est utilisé pour faire correspondre les mots séparés par des virgules entourés par les deuxième supports.

Différents exemples de la fonction glob () ont été montrés ci-dessous.

Exemple-1: récupérer tous les fichiers et dossiers d'un répertoire particulier

Créez un fichier perl avec le code suivant pour connaître l'utilisation de la fonction glob () pour rechercher tous les fichiers et dossiers du répertoire particulier. Selon le chemin du répertoire défini dans le code, tous les fichiers et dossiers du chemin, «/ home / fahmida / *», seront stockés dans un tableau si le chemin existe; Sinon, un message d'erreur apparaîtra. Ensuite, le contenu du tableau sera imprimé.

#Rerive le contenu d'un répertoire particulier
@content = glob ('/ home / fahmida / *');
# Print la valeur renvoyée par la fonction glob ()
imprimer "@content \ n";

Sortir:
La liste de tous les fichiers et dossiers du répertoire, «Home / Fahmida /», a été affichée dans la sortie.

Exemple-2: Récupérez les fichiers spécifiques d'un répertoire particulier

Créez un fichier perl avec le code suivant pour connaître l'utilisation de la fonction glob () pour rechercher la liste des fichiers spécifiques dans un répertoire particulier. Selon le chemin du répertoire défini dans le code, tous les fichiers perl du chemin, «/ home / fahmida / *», seront stockés dans un tableau si le chemin existe; Sinon, un message d'erreur apparaîtra. Ensuite, le contenu du tableau sera imprimé.

#Retrive Tous les fichiers perl d'un répertoire particulier
@content = glob ('/ home / fahmida / *.PL');
# Print la valeur renvoyée par la fonction glob ()
imprimer "@content \ n";

Sortir:
La liste de tous les fichiers texte du répertoire, «Home / Fahmida /», a été affichée dans la sortie.

Exemple-3: Récupérez tous les fichiers et dossiers du répertoire actuel

Créez un fichier perl avec le code suivant pour connaître l'utilisation de la fonction glob () pour rechercher tous les fichiers et dossiers du répertoire actuel. Tous les fichiers et dossiers du répertoire actuel seront stockés dans un tableau. Ensuite, le contenu du tableau sera imprimé.

# Récupérez tous les fichiers et dossiers du répertoire actuel à l'aide du modèle
@Content = glob ('*');
#Iterate la valeur renvoyée à l'aide de la boucle
foreach $ val (@content)

# Print chaque valeur
Imprimer $ Val . "";

#Add Newline
imprimer "\ n";

Sortir:
La sortie suivante affiche tous les fichiers et dossiers du répertoire actuel.

Exemple-4: Récupérez les fichiers spécifiques du répertoire actuel

Créez un fichier perl avec le code suivant pour connaître l'utilisation de la fonction glob () pour rechercher tous les fichiers texte du répertoire actuel. Tous les fichiers texte du répertoire actuel seront stockés dans un tableau. Ensuite, le contenu du tableau sera imprimé.

# Récupérez tous les fichiers texte du répertoire actuel à l'aide du modèle
@content = glob "*.SMS";
#Iterate la valeur renvoyée à l'aide de la boucle
foreach $ val (@content)

# Print chaque valeur
Imprimer $ Val . "";

#Add Newline
imprimer "\ n";

Sortir:
La sortie suivante affiche tous les fichiers texte du répertoire actuel.

Exemple-5: récupérer les dossiers spécifiques en utilisant "?"

Créez un fichier perl avec le code suivant pour connaître l'utilisation de la fonction glob () pour rechercher des dossiers particuliers du répertoire actuel en utilisant "?". Tous les dossiers du répertoire actuel qui commencent par le personnage «T» et le nom de dossier contenant 4 caractères seront stockés dans un tableau. Ensuite, le contenu du tableau sera imprimé.

# Récupérer tous les dossiers du répertoire actuel
# qui commence par «t» et contient 4 caractères
@content = glob ("t???");
#Iter la valeur renvoyée à l'aide de la boucle
foreach $ val (@content)

# Print chaque valeur
Imprimer $ Val . "";

#Add Newline
imprimer "\ n";

Sortir:
La sortie suivante montre tous les dossiers du répertoire actuel qui commence par le caractère «t», et le nom du dossier contient 4 caractères.

Exemple-6: Récupérez les dossiers spécifiques en utilisant «*» et [0-9]

Créez un fichier perl avec le code suivant pour connaître l'utilisation de la fonction glob () pour rechercher des dossiers particuliers du répertoire actuel en utilisant "*»Et [0-9]. Tous les fichiers du répertoire actuel qui commencent par n'importe quel caractère mais se terminent avec «ob»Et un chiffre sera stocké dans un tableau. Ensuite, le contenu du tableau sera imprimé.

# Récupérez tous les fichiers du répertoire actuel se terminant par «OB» et le chiffre
@content = glob ("* ob [0-9].* ");
#Iterate la valeur renvoyée à l'aide de la boucle
foreach $ val (@content)

# Print chaque valeur
Imprimer $ Val . "";

#Add Newline
imprimer "\ n";

Sortir:
La sortie suivante montre que le répertoire actuel contient 6 fichiers qui correspondent au modèle défini du code.

Conclusion

La façon de rechercher des fichiers et des dossiers dans un emplacement particulier en utilisant la fonction glob () a été affichée ici. Les utilisations de différents types de Metacharacter pour écrire le modèle de recherche ont été montrées dans les exemples.