Bonjour à tous,

Je viens d'être confronté à un truc auquel je n'avais jusqu'alors pas fait attention, et cela me pose un problème car pour le cas présent tous mes calculs réalisés jusqu'ici sont faux, exemple:

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
 
my @list= qw/
  +:12-06-2010:Arrêt:-100:niet
  +:15-06-2010:Autre:-64.11:niet
  *:09-07-2010:Divers:419.01:niet
  *:27-06-2010:Divers:169.89:niet
  /;
 
my $res= 0;
grep {
	my ($type, $sum)= (split /:/, $_)[0,3];
	$sum /= 2 if $type eq "*";
	$res -= $sum;
}@list;
print "Res: ", $res, "\n";
Je pensais jusqu'ici que par exemple ce bout de code retournait effectivement comme valeur -330.34 (ce qui en tout état de cause est le calcul juste), or à l'exécution, j'ai eu la fâcheuse surprise d'obtenir un joli -130.34 ???

LeGonZo.