Tuesday, November 23, 2010

exercice 5: noms et ages avec table de hachage

# exercice 5
use strict;
use warnings;

my %pers;

# importer les donnees
while (<>) {
  chomp;
  my ($nom, $age, $adresse) = split ' ', $_, 3;
  $pers{$nom} = $age;
}

my ($nom, $age);
my $etape = 0;

$etape++; print "$etape. Les ages de tout le monde:\n";
for $nom (sort keys %pers) {
  print "  $nom : $pers{$nom}\n";
}

$etape++; print "$etape. Travailleurs:\n";
for $nom (sort keys %pers) {
  $age = $pers{$nom};
  if ($age >= 18 && $age < 65) {
    print "  $nom : $pers{$nom}\n";
  }
}

$etape++; print "$etape. Un an passe...:\n";
for $nom (sort keys %pers) {
  $pers{$nom}++;
}

$etape++; print "$etape. Les ages de tout le monde:\n";
for $nom (sort keys %pers) {
  print "  $nom : $pers{$nom}\n";
}

$etape++; print "$etape. Travailleurs:\n";
for $nom (sort keys %pers) {
  $age = $pers{$nom};
  if ($age >= 18 && $age < 65) {
    print "  $nom : $pers{$nom}\n";
  }
}

$etape++; print "$etape. Les ages de tout le monde trie par age:\n";
for $nom (sort { $pers{$a} <=> $pers{$b} } keys %pers) {
  print "  $nom : $pers{$nom}\n";
}

$etape++; print "$etape. Environnement:\n";
for my $var (sort keys %ENV) {
  #print "  $var : $ENV{$var}\n";
  printf "  %-20s %-30.30s\n", $var, $ENV{$var};
}

No comments:

Post a Comment