PERL Split
Résolu
wafa_o
Messages postés
109
Date d'inscription
Statut
Membre
Dernière intervention
-
wafa_o Messages postés 109 Date d'inscription Statut Membre Dernière intervention -
wafa_o Messages postés 109 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai besoin de vos lumières svp. J'ai un fichier du type:
my %toto => ( 'AAAAAA' =>{ 'uuu' => [ 'toto','tata', 'mouloud' ] } );
Je voudrais le placer dans un tableau en découpant la ligne en bloc avec ''. J'ai essayé avec split mais ca ne marche pas :
my @tab = split (' ' , $tabFichier[$_] ;
Est ce que vous pouvez m'aider ?
Merci d'avance.
J'ai besoin de vos lumières svp. J'ai un fichier du type:
my %toto => ( 'AAAAAA' =>{ 'uuu' => [ 'toto','tata', 'mouloud' ] } );
Je voudrais le placer dans un tableau en découpant la ligne en bloc avec ''. J'ai essayé avec split mais ca ne marche pas :
my @tab = split (' ' , $tabFichier[$_] ;
Est ce que vous pouvez m'aider ?
Merci d'avance.
A voir également:
- Split perl
- Split cam - Télécharger - Messagerie
- Split 4g - Télécharger - Gestion de fichiers
- Split mp3 - Télécharger - Édition & Montage
- Hj split - Télécharger - Gestion de fichiers
- Denon perl pro test - Accueil - Audio
Pour la ligne d'exemple que tu as donné, tu pourrais me donner un exemple de ce que tu veux avoir dans ton tableau s'il te plait?
Merci d'avance
Il faudrait soit modifier l'expression avant de la passer au split (par exemple rajouter d'autres caractères servant de séparateurs autout des blocs entre ''), soit ne pas utiliser de split du tout et procéder autrement.
Je regarde vite fait si je trouve quelque chose de simple.
$tabFichier[$_] =~ s/('.*?')/\n$1\n/g;
@tab = split (/\n/,$tabFichier[$_]);
Après il faut juste être sûr que tu n'auras jamais de \n autre que ceux ajoutés en séparateur.
Sinon si tu veux absolument separer les ) ] } à la fin, tu peux essayer ça aussi :
$chaine =~ s/\s*(=>\s*{|=>\s*\[|=>\s*\(|,|\)|\]|\})\s*/\n$1\n/g;
@tab = split (/\n\n|\n/,$chaine);
Mais c'est moche à lire ^^