CHDIR |
Change de répertoire |
|---|---|
Perl |
POSIX |
Syntaxe
| sub POSIX::chdir($répertoire); |
Paramètres
| Nom | Description |
|---|---|
| $répertoire | Ce paramètre permet d'indiquer le nom du répertoire de travail. |
Description
Cette fonction permet de changer de répertoire de travail.
Remarques
- Permet de modifier dynamiquement le répertoire courant du processus : La fonction POSIX::chdir($répertoire) change le répertoire de travail courant du script Perl. Cela signifie que toutes les opérations ultérieures sur des fichiers (relatifs) s'effectueront par rapport au nouveau chemin défini.
- Identique à la fonction native Perl chdir : Perl fournit déjà une fonction intégrée chdir. L'appel à POSIX::chdir est superflu dans la majorité des cas, sauf si l'on cherche spécifiquement à rester conforme à l'interface POSIX ou à encapsuler une version spécifique.
- Nécessite que le répertoire cible existe et soit accessible : Le répertoire passé en paramètre doit exister et le processus doit avoir les droits suffisants pour y accéder. Sinon, la fonction échoue et retourne une valeur fausse (0), ce qui impose de vérifier systématiquement le résultat.
- Renvoie vrai en cas de succès, faux sinon : Comme la version native de Perl, POSIX::chdir retourne une valeur vraie si le changement de répertoire a fonctionné, et fausse sinon. Cela permet une gestion conditionnelle élégante, souvent avec un or die pour capturer les erreurs.
- Affecte uniquement le processus courant : Le changement de répertoire n'a d'effet que sur le processus en cours (le script Perl). Une fois le script terminé, le répertoire courant n'est pas modifié pour l'environnement parent (comme l'interpréteur de commande ayant lancé le script).
- Utilisable pour structurer proprement des scripts multi-dossiers : Dans des scripts Perl manipulant plusieurs fichiers ou répertoires, chdir est souvent utilisé pour naviguer vers un répertoire temporaire, y effectuer des opérations, puis revenir au répertoire initial avec chdir($ancien).
- Peut poser problème si utilisé sans précaution dans des scripts multi-processus légers : Dans un environnement avec plusieurs processus légers Perl, changer le répertoire de travail de manière globale peut provoquer des comportements inattendus. Il est donc recommandé de limiter son usage ou d'utiliser des chemins absolus dans ce contexte.
- Une bonne pratique consiste à sauvegarder l'ancien répertoire : Avant de faire un chdir, il est recommandé d'entreposer le répertoire courant via my $ancien = getcwd(); (via Cwd) pour pouvoir revenir à l'état initial du script à la fin. Cela garantit un comportement propre, surtout en cas d'erreur intermédiaire.
Voir également
Langage de programmation - Perl - Référence de procédures et fonctions - chdir
Langage de programmation - Fonction C pour Linux - chdir
Dernière mise à jour : Dimanche, le 18 octobre 2015