# Lire des Noms-Notes en format 2 

use strict;
use warnings;
use XML::DOM;

# on prépare les impressions sur la sortie standard
binmode(STDOUT, ":utf8");

sub lire_2 ($) { #Document -> flottant
	my ($doc) = @_;
	my $liste = $doc->getDocumentElement();
	my $s = 0; #le total des notes
	
	my @les_eleves = $liste->getElementsByTagName("eleve");
	my $k = @les_eleves; # longueur de la liste
	
	foreach my $l_eleve ( @les_eleves  ){ 
	#lecture
		my ($elt_nom) = $l_eleve->getElementsByTagName("nom");
		my $le_nom = $elt_nom->getFirstChild()->getData();
		
		my ($elt_note) = $l_eleve->getElementsByTagName("note");
		my $la_note = $elt_note->getFirstChild()->getData();

	#action
	    print("$le_nom a pour note $la_note\n");
	    $s += $la_note;
	}# foreach
	
	if( $k == 0 ){
		die("fichier vide");
	}else{
		return $s/$k;
	}
}# lire_2

sub lecture ($){# nom de fichier
	my ($fichIn) = @_;
	my $parseur = XML::DOM::Parser->new();
	my $doc = $parseur->parsefile($fichIn);
	my $moy = lire_2($doc);
	print("\nMoyenne : $moy\n");
}#lecture

lecture($ARGV[0]);