[perl] 1 regexp des espaces ... et rien

fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   -  
fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je vous met d'abord le code ^^ :

@cobol = "-----------------------------------------------------------------------------
2000/02/08 14:02:51
   Installed   Sys   In Use
   ---------   ---   ------
/bob/v4/raoul
      250        0       0             Server 32-bit

**AS Developer Usage
       15        0       4             Server 32-bit

**AS Developer Usage
       15        0       1             Server 32-bit
";

push(@cobol,$_);
for(@cobol){
	$result = $_;
	$result =~ /(\d*\/\d*\/\d*)/;
	print "$1\n";
	
	
	
	$result =~ /^\s*(\d*)\s*(\d*)\s*(\d*)/;
	print "1 : $1\n";
	print "2 : $2\n";
	print "3 : $3\n";
	
}


Donc :
@Cobol contient le texte à traiter.
Je souhaiterai extraire "250" "0" "0" et "15" "0" "4" et "15" "0" "1".

J'ai beau faire ^\s*, j'ai l'impression que perl ne comprend pas (je pense surtout que je m'y prend mal).
J'ai aussi copié le caractère "espace" et collé dans un convertisseur ASCII pour vérifier que le code ascii était bien espace... Enfin bref, je suis vraiment coincé, un œil extérieur serait d'une grande aide.

Cordialement.
Fxta

1 réponse

fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
 
Bon j'avance petit a petit :

push(@cobol,$_);
for(@cobol){
	$result = $_;

	if ($result =~ /\n\s+(\d+)\s+(\d+)\s+(\d+)/){
		print "im in!\n";
		# print $result;
		print "1 : $1\n";
		print "2 : $2\n";
		print "3 : $3\n";
	}
}


J'arrive à extraire 250 0 0 mais bizarrement perl ne fait pas la regexp pour 15 0 4 et 15 0 1(sauf si je supprime la ligne 250 0 0.....
0