arborescence en perl

arborescence en perl - Perl - Programmation

Marsh Posté le 23-10-2006 à 16:38:11    

salut,
 
 
J'aurai aimé savoir si la fonction mkdir sous perl disposait de l'option -p
je regarde les docs et je ne trouve pas.
Ce que je souhaiterai c'est creer une arborescence comme ceci

Citation :

A
   A1
   A2
      A3
         A4
B
   B1  
   B2
   B3
C
  C1
     C2
        C3


 
Merci
 

Reply

Marsh Posté le 23-10-2006 à 16:38:11   

Reply

Marsh Posté le 23-10-2006 à 16:44:04    

Bourrin

Code :
  1. system "mkdir -p Truc/Machin";


Mieux, avec mkpath ( qui appartient a File::Path, module standard):

Code :
  1. use File::Path;
  2. mkpath "Truc/Machin/";


Reply

Marsh Posté le 23-10-2006 à 17:11:08    

ok
donc en faite si j'utilise mkpath
je ne pourrai pas creer d'un seul coup toute mon arborescence
d'un seule comme avec mkdir -p  
c est bien cela ?

Reply

Marsh Posté le 23-10-2006 à 17:35:32    

j'ai fait cela

Code :
  1. #!/usr/bin/perl
  2. system "mkdir -p logement/{maison/{chambre,cuisine,salom/television},jardin/cabane/tondeuse}";


mais j'ai un message d'erreur
 

Citation :


La syntaxe de la commande est incorrecte.


 

Reply

Marsh Posté le 23-10-2006 à 18:25:01    

Reply

Marsh Posté le 24-10-2006 à 00:05:18    

ce sont tes accolades à l'interieur de tes noms de rep qui plantent la commande.
Utilise plutot File::Path que la commande systeme (mais bon ca marchera pas mieux avec ces accolades)

Reply

Marsh Posté le 24-10-2006 à 08:55:49    

pospos a écrit :

ce sont tes accolades à l'interieur de tes noms de rep qui plantent la commande.
Utilise plutot File::Path que la commande systeme (mais bon ca marchera pas mieux avec ces accolades)


euh nan ça marche les accolades ... enfin j'imagine que ça dépends un peu de ton unix. Mais avec sa commande ça va créer:

- logement  
 + maison
  *chambre
  *cuisine
  *salon
   ¤télévision
 + jardin
  *cabane
   ¤tondeuse

Reply

Marsh Posté le 24-10-2006 à 09:44:43    

ya pas mal de chances qu'il soit sous windows

Reply

Marsh Posté le 24-10-2006 à 09:48:58    

certes, j'y avais pas pensé [:god] et puis son shebang m'a laissé croire le contraire...

Reply

Marsh Posté le 24-10-2006 à 09:55:09    

je viens de tester sous windows et j'ai la meme erreur, donc ca doit etre ca
Mais en fait tu a raison, le problème ne doit pas venir des accolades mais plutot du -p qui n'est pas reconnu sous windows (en fait il n'en a pas besoin, c'est le comportement par defaut). Enfin j'ai pas testé plus que ca.
Donc File::Path::mkpath est plus que jamais indiqué

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed