Bonjour,
J'ai commencé le langage perl il y a une semaine et j'ai un problème avec ce code :
Une partie fonctionne puisqu'il m'affiche correctement la ligne lue (print "$l\n") et (print "$esp1 $esp2 $esp3\n") marche aussi correctement mais je n'arrive pas à remplir mon hash de hash de tableau Y a rien a faire j'ai essayé plein de trucs, il refuse. Donc il doit y avoir une erreur à la *$ù quelque part que je ne vois pas. Je suis donc obligé d'en appeller donc à votre générosité pour m'aider à résoudre ce bins
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 #!c:/Perl/bin/perl #use strict; open(CLASSEMENT, "classement.txt") or die("open classement.txt : $!"); my %Classement; my ($esp1, $esp2, $esp3); my $esp_type = "R"; my $l; my $i = 0; my $poub = <CLASSEMENT>; while (defined($l = <CLASSEMENT>)) { print "$l\n"; if (($esp1, $esp2, $esp3) = ($l =~ /\s*(\w+|-)\s+(\w+|-)\s+(\w+|-)/)) { push(@{${$Classement{1}}{$esp_type}}, $esp1) if ($esp1 != "-"); push(@{${$Classement{2}}{$esp_type}}, $esp2) if ($esp2 != "-"); push(@{${$Classement{3}}{$esp_type}}, $esp3) if ($esp3 != "-"); print " essai : ${${$Classement{1}}{$esp_type}}[$i]\n"; print "$esp1 $esp2 $esp3\n"; $i++; } else { if (($esp_type) = ($l =~ /^([RM])/)) {print "$esp_type\n";} } }
Je m'attendais pas à bloquer sur un truc aussi couillon.
Partager