#!/usr/bin/perl -w
# remd: tri de init_ls.log pour enlever les doublons mais suivant un ordre de preferance
#  et voir comment je peut sortir tout ca
# alain Adelmar

#use strict;
#use warnings;

my $filin = "init_lspub.log";
my $filout1 = "ls3.log";
my $lspref = "ls4.log";

my $taille = "";
my $noms = "";

open (FI, "$filin") or die "Ouverture de $filing impossible $!";
open (FO, ">$filout1") or die "Ouverture de $filout1 impossible $!";

@contenu = <FI>;
foreach $ligne (@contenu) {
	chomp $ligne;
	($poids, $noms) = split(/*/, $ligne);

	$h_ls{$noms} = $poids;
}

close FI || die "Fermeture de $filin impossible $! \n";

# je remet tout a l'endroit
while ( ($key, $value) = each %h_ls) {
        print FO "$value\n$key\n";
    }

close FO || die "Fermeture de $filout1 impossible $! \n";
open (FO, "$filout1") or die "Ouverture de $filout1 impossible $!";

while ($pathname = <FO>) {
	chomp $pathname;
	$poids = <FO>;
	chomp $poids;
	$hash{$pathname} = $poids;
}

close FO || die "Fermeture de $filout1 impossible $! \n";

open (FOUT, ">$filout2") or die "Ouverture de $filout2 impossible $! \n";

# triage par cle
foreach $pathname( sort(keys %hash)) {
	printf FOUT "%90s %7d\n", $pathname, $hash{$pathname};
}




# triage décroissant par valeurs
#foreach $taille (sort { $h_ls{$b} <=> $h_ls{$a} } keys %h_ls) {
#	printf FO "%7d %-40s\n", $taille, $h_ls{$taille};
#}


close FOUT || die "Fermeture de $filout2 impossible $! \n";

END;