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 31 32 33 34 35 36 37 38 39 40
|
use warnings;
my $fichier = "file1.txt";
my %old;
# le fichier a 3 lignes du genre :
# table1 123 12 333 11 22
# table2 456 13 222 11 22
# table3 789 14 111 11 22
open VEILLE, $fichier or die($!);
while(my $line = <VEILLE>) {
chomp($line);
my ($segm, $onee, $twoo, $threee, $fourr, $fivee) = split(/\s+/, $line);
# j'imagine que le soucis est ici (je veux créer un hash avec à chaque fois la clef comme etant la variable $segm (table1, table2 etc.)
%old = ($segm => {
one => $onee,
two => $twoo,
three => $threee,
four => $fourr,
five => $fivee
}
);
}
close(VEILLE);
# ici, seulement la table3 s'affiche
foreach my $tab (keys %old) {
foreach my $type (keys %{$old{$tab}}) {
print "$tab, $type: $old{$tab}{$type}\n";
}
}
# je peux tester un print comme ça aussi, c pareil
print $old{"table1"}{five}; # marche pas
print $old{"table2"}{five}; # marche pas
print $old{"table3"}{five}; # marche ! |
Partager