Bonjour à tous!

Voila je suis débutant en Perl et je dois faire un genre d'interpréteur de trace blablabla ... :p

Et en fait je dois récupérer des constantes situées dans un fichier *.h

Donc j'ai un début de script qui extrait ces dernieres et je dois leur affecter leur valeur via le script

Exemple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
open FICHIER,"< app_spi.h" or die "Le fichier n'existe pas !";
while ($ligne = <FICHIER>)
   {
      if($ligne =~ m/  (SPI_)/ )
         {    
            print WRITER $ligne;        	
         }      
   }
close FICHIER;
Donc la je veux extraire toutes les constantes commencant par SPI_ puis afficher leur valeur a coté mais je ne trouve pas comment faire :S

j'ai bien tenté cela
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
my $valeur = 0x82;
my $dec = sprintf("%d",$valeur);
 
if($ligne =~ m/  (SPI_)/ )
         {    
            $dec++; 
            $valeur = hex($dec);   
         	print WRITER $valeur;         	
         	print WRITER $ligne;        	
         }
Mais ca ne fonctionne pas. du moins il incrémente de 305 à 337 au lieu de 0x82 à 0xA3.

Merci d'avance pour votre aide.

Cordialement

Fabien