1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| my %header_value;
while (my $line = <$FH>) { # première boucle pour lire le premier groupe de lignes
last if $line =~ /^id:name:IO_group_id:/; # sort de cette boucle et passe à la suivante pour la suite des données
next if $line =~/id:name:status:mdisk_count:/; # saute la ligne d'entête
next if $line =~ /^\s*$/; # saute d'éventuelles lignes vides
my ($id, $name, $capacity, $free) = (split /:/, $line)[0, 1, 5, 7];
next unless defined $free;
$header_value{$id} = { name => $name, capacity => $capacity, free_capacity => $free}; # stockage des valeurs qui t'intéressent dans un hash
}
for my $key (keys %header_value) { #Affichage des données
say "\tItem NR: $key";
say "\tName: $header_value{$key}{name}";
say "\tCapacity: $header_value{$key}{capacity}";
say "\tFree Capacity: $header_value{$key}{free_capacity}";
} |