Salut,
J'ai un fichier C de la forme suivante :
Je souhaiterai récupérer les lignes contenant les _Si_, donc par exemple ici récupérer :
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 /**************** *CONSTANTES *****************/ #define blanc 0 /**************** *SERVICES INTERNES *****************/ void PBA_Si_ConvertirCouleur (CHAR CouleurIn, INT32 CodeCouleur, CHAR CouleurOut); void PBA_Si_RecupererCouleur (INT32 CodeCouleur, CHAR Couleur);
Voici mon code :
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 void PBA_Si_ConvertirCouleur (CHAR CouleurIn, INT32 CodeCouleur, CHAR CouleurOut); void PBA_Si_RecupererCouleur (INT32 CodeCouleur, CHAR Couleur);
J'affiche les résultats dans la console si l'expression est trouvée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 ## MODULES use strict; ## VARIABLES # Scalaires my $localpath = `pwd`; my $fic_a_verifier = "COULEUR.c"; my $texte_fic_a_verifier = ""; # Tableaux my @fic_a_verifier = (); ## PROGRAMME PRINCIPAL open FILE_VERIF,"<".$fic_a_verifier or die "Impossible d'ouvrir le fichier $fic_a_verifier !"; @fic_a_verifier = readline (<FILE_VERIF>); close FILE_VERIF; foreach my $var_tmp (@fic_a_verifier) { $texte_fic_a_verifier = $texte_fic_a_verifier.$var_tmp } if ($texte_fic_a_verifier =~ /(P[A-Z][A-Z]_Si_.*?\);)/msx ) { print $1."\n"; }
Or cela ne marche pas, je n'arrive pas à récupérer les 2 patterns, seul un seul s'affiche.
Auriez-vous une idée ?
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void PBA_Si_ConvertirCouleur (CHAR CouleurIn, INT32 CodeCouleur, CHAR CouleurOut);
Merci d'avance.
Partager