Comment puis-je tester si un nom de fichier correspondant à un modèle existe en Perl?
Puis-je faire quelque chose comme ça en Perl? Sens de correspondance de modèle sur un nom de fichier et vérifier qu'il n'existe.
if(-e "*.file")
{
#Do something
}
Je sais que le plus de la solution de demander au système d'afficher la liste des fichiers présents; lire un fichier et d'en déduire si le fichier existe ou pas.
source d'informationauteur Jean
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
glob
pour retourner un tableau de tous les fichiers correspondant au modèle:Si vous voulez simplement savoir si un fichier correspondant au modèle existe, vous pouvez ignorer la mission:
Sur les systèmes *nix, je l'ai utilisé avec de bons résultats.
Il répond avec le nombre de correspondances trouvées, ou 0 si aucun. Ce qui le rend facilement utilisé dans les " si " conditionnel comme:
Exactement quels modèles vous pouvez utiliser sera déterminé par ce que votre shell prend en charge. Mais la plupart des shells en charge l'utilisation de '*' et '?' - et ils font la même chose partout où je l'ai vu. Bien sûr, si vous avez supprimé l'appel à la "scalaire" la fonction, il serait de retour le matchs - utile pour trouver les variables les noms de fichier.
Sur Windows, j'ai dû utiliser Fichier::Glob::Windows que le chemin d'accès Windows séparant les barres obliques inverses ne semble pas fonctionner perl glob.