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

fxtaa Messages postés 1170 Statut Membre -  
fxtaa Messages postés 1170 Statut Membre -
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 1170 Statut Membre 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