J=B4ai eu a poster un Theme ici malheureusement j=B4ai pas pu avancer. Je
suis entrain de vouloir utiliser une nouvelle
methode afin de resoudre le probleme.
je voudrai une fois la ligne " point_depart {" trouv=E9, recuperer cette
ligne hors mis la parenthese dans un tableau,ensuite
passer a la ligne suivante et faire de meme, ainsi de suite et des que
la premiere parenthse fermente est trouv=E9e,
arreter le transfert dans mon tableau mais chercher =E0 la suite du
fichier la prochaine ligne qui se termine par une
parenthese ouvrante
voila ce que j=B4essaie de faire :
Code :
while(<file>){
if(/^(.*?)\s* {$/){
push(tabel,$_);
}
}
mais je voudrai savoir comment faire pour qu=B4il ne me balance pas le
contenu entier des lignes avec parenthese ouvrante
de ce fichier dans mon tableau mais rien que les lignes =E0 partir de
"point_depart", ensuite qu=B4il s=B4arrete a la premiere
parenthese fermante et continue la copie =E0 la prochaine ligne
commencant par exemple par "deuxieme point" et s=B4arrete
a la meme condition de parenthese fermante...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Klaus
wrote:
mais je voudrai savoir comment faire pour qu´il ne me balance pas le contenu entier des lignes avec parenthese ouvrante de ce fichier dans mon tableau mais rien que les lignes à partir de "point_depart", ensuite qu´il s´arrete a la premiere parenthese fermante
voici un programme perl
============= use strict; use warnings;
my @table;
while <DATA> { if (/point_depart/../}/) { push @table } }
mais je ne pense pas que c'est logique de chercher la premiere parenthese fermante.
Il serait plutôt logique de chercher la paranthese fermante qui correspond au "point_depart".
En fait ce type de problème correspond plutôt à perlfaq4: "Comment repérer des éléments appariés ou imbriqués"
voir http://perl.enstimac.fr/DocFr/perlfaq4.html
lepetitjoe@caramail.com wrote:
mais je voudrai savoir comment faire pour qu´il ne me balance pas le
contenu entier des lignes avec parenthese ouvrante
de ce fichier dans mon tableau mais rien que les lignes à partir de
"point_depart", ensuite qu´il s´arrete a la premiere
parenthese fermante
voici un programme perl
=============
use strict;
use warnings;
my @table;
while <DATA> {
if (/point_depart/../}/) { push @table }
}
mais je voudrai savoir comment faire pour qu´il ne me balance pas le contenu entier des lignes avec parenthese ouvrante de ce fichier dans mon tableau mais rien que les lignes à partir de "point_depart", ensuite qu´il s´arrete a la premiere parenthese fermante
voici un programme perl
============= use strict; use warnings;
my @table;
while <DATA> { if (/point_depart/../}/) { push @table } }
while <DATA> { if (/point_depart/../}/) { push @table } }
{ local $, = "n"; print @table; }
Je suis désolé, par accident j'ai copié/collé une version incorrecte. (erreur de syntaxe près du "push" et >>local $, = "n";<< ne sert à rien).
Voici la version correcte: ============= use strict; use warnings;
my @table;
while (<DATA>) { if (/point_depart/../}/) { push @table, $_ } }
print @table; =============
lepetitjoe
Effectivement vous avez raison, j´ai bien pensé aller jusqu´a la parenthese fermante du point d´ancrage mais je cherche encore comment faire....car en fait je dois recuperer tout ce qui se trouve a l´interieur de ce point d´ancrage. merci
Effectivement vous avez raison, j´ai bien pensé aller jusqu´a la
parenthese fermante du point d´ancrage mais je cherche encore comment
faire....car en fait je dois recuperer tout ce qui se trouve a
l´interieur de ce point d´ancrage.
merci
Effectivement vous avez raison, j´ai bien pensé aller jusqu´a la parenthese fermante du point d´ancrage mais je cherche encore comment faire....car en fait je dois recuperer tout ce qui se trouve a l´interieur de ce point d´ancrage. merci
Klaus
wrote:
Effectivement vous avez raison, j´ai bien pensé aller jusqu´a la parenthese fermante du point d´ancrage mais je cherche encore comment faire....car en fait je dois recuperer tout ce qui se trouve a l´interieur de ce point d´ancrage.
En fait ce type de problème correspond plutôt à perlfaq4: "Comment repérer des éléments appariés ou imbriqués"
voir http://perl.enstimac.fr/DocFr/perlfaq4.html
voici un extrait: ================== [...] Pour les expressions imbriquées utilisant (, {, [ ou < comme délimiteurs, utilisez le module CPAN Regexp::Common ou voyez dans la page de manuel perlre. Pour les autres cas, il vous faudra écrire un analyseur.
Si vous songez sérieusement à écrire un analyseur syntaxique, de nombreux modules ou gadgets pourront vous rendre la vie plus facile. Il y a les modules du CPAN Parse::RecDescent, Parse::Yapp et Text::Balanced ainsi que le programme byacc. Depuis perl 5.8, Text::Balanced fait partie de la distribution standard. [...] ==================
lepetitjoe@caramail.com wrote:
Effectivement vous avez raison, j´ai bien pensé aller jusqu´a la
parenthese fermante du point d´ancrage mais je cherche encore comment
faire....car en fait je dois recuperer tout ce qui se trouve a
l´interieur de ce point d´ancrage.
En fait ce type de problème correspond plutôt à perlfaq4:
"Comment repérer des éléments appariés ou imbriqués"
voir http://perl.enstimac.fr/DocFr/perlfaq4.html
voici un extrait:
==================
[...]
Pour les expressions imbriquées utilisant (, {, [ ou < comme
délimiteurs, utilisez le module CPAN Regexp::Common ou voyez dans la
page de manuel perlre. Pour les autres cas, il vous faudra écrire un
analyseur.
Si vous songez sérieusement à écrire un analyseur syntaxique, de
nombreux modules ou gadgets pourront vous rendre la vie plus facile. Il
y a les modules du CPAN Parse::RecDescent, Parse::Yapp et
Text::Balanced ainsi que le programme byacc. Depuis perl 5.8,
Text::Balanced fait partie de la distribution standard.
[...]
==================
Effectivement vous avez raison, j´ai bien pensé aller jusqu´a la parenthese fermante du point d´ancrage mais je cherche encore comment faire....car en fait je dois recuperer tout ce qui se trouve a l´interieur de ce point d´ancrage.
En fait ce type de problème correspond plutôt à perlfaq4: "Comment repérer des éléments appariés ou imbriqués"
voir http://perl.enstimac.fr/DocFr/perlfaq4.html
voici un extrait: ================== [...] Pour les expressions imbriquées utilisant (, {, [ ou < comme délimiteurs, utilisez le module CPAN Regexp::Common ou voyez dans la page de manuel perlre. Pour les autres cas, il vous faudra écrire un analyseur.
Si vous songez sérieusement à écrire un analyseur syntaxique, de nombreux modules ou gadgets pourront vous rendre la vie plus facile. Il y a les modules du CPAN Parse::RecDescent, Parse::Yapp et Text::Balanced ainsi que le programme byacc. Depuis perl 5.8, Text::Balanced fait partie de la distribution standard. [...] ==================