First page Back Continue Last page Overview Graphics
ça marche encore mieux!
#!/usr/bin/perl -CSD
# sort les nom, intitulés de poste et salaires de tous les employés
# utilise un handler (chaque employé est traité puis purgé)
use strict; use warnings; use utf8; use XML::Twig;
my $twig= XML::Twig->new( twig_handlers => { employé => \&employé })
->parsefile( "hr_data.xml");
sub employé
{ my( $twig, $employé)= @_;
my $état_civil= $employé->first_child( 'état-civil');
my $poste= $employé->first_child( 'emploi')->first_child( 'poste');
my $salaire= $poste->first_child( 'paye')->first_child( 'salaire')
->att( 'montant');
printf "%s, %s (%s): €%d\n",
$état_civil->field( 'nom'), $état_civil->field( 'prénom'),
$poste->field( 'nom'), $salaire;
$twig->purge;
}