Bonjour à tous,

désolé pour le titre, je n'ai pas eu d'inspiration :-/ en gros, j'ai quelques soucis avec des tests / opérandes Perl utilisés en post-conditionnement

Passons directement aux choses sérieuses (c'est un test, donc ne paniquez pas en voyant mon code ^^) :

Pour ce test, je veux créer une arborescence de dossiers. L'idée, c'est que j'ai une liste de sous-dossiers imbriqués à créer C:/test/2007/10/23
Je veux, en partant de la racine, tester l'existence de chaque dossier et le créer si besoin.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
unless (-e 'C:/test/2007/' && -d _) {
	mkdir 'C:/test/2007/' or die "Creation impossible: $!";
}
marche bien, mais bon, je me dis qu'avec le post-conditionnement, y'a moyen d'aller plus vite:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
mkdir 'C:/test/2007/10' unless (-e 'C:/test/2007/10' && -d _);
C'est pas mal, mais je n'ai plus le "die" si il y'a un truc qui foire (protection en écriture, un fichier du nom du dossier existe, etc.)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
mkdir 'C:/test/2007/10/23' unless (-e 'C:/test/2007/10/23' && -d _) or die "Creation impossible: $!";
Ne marche plus, car si le dossier 'C:/test/2007/10/23' n'existe pas, le 'die' plante le programme "No such file or directory" ...

Donc est-il possible de faire porter le die sur le mkdir ?!