#!/usr/bin/perl 
sub FileInfo {
    my $file = shift;
   my $size = ( -s $file );
   my $size= int(($file/1024)*10)/10;
   my $date_str= localtime((stat($file))[9]);    
   return  "$size Kb $date_str";
}
use File::Basename;
$dir="./";
if ( $#ARGV == 0 )  { 
 $dir=$ARGV[0];
}
( -d $dir ) ||  die " Erreur $dir n est pas un directory ! "; 
open(file,"ls -1 $dir/[Ff]ree*++*|") ||  die " Erreur ouverture  ";
$kk=0;
$k=0;
$VV = "00000 00000 00000";
FILE:
while (<file>) {
    chop;
   # next FILE if  /^l/  ; # un  lien  on saut
   # next FILE if  /^d/  ; # un  dir  on saut
    next if ( -d $_ );
    next if ( -l $_ );
 
#   ($mode,$nhdcopi,$name,$projet,$size,$mois,$jour,$an,$fichier)=split;
    $fichier=$_; 
    $dir=dirname($fichier);
    $file=basename($fichier);
    $f=$file;
    $p=$file;
    $v=$file;
    $s=$file;
#    $v =~ s/.*\+\+[.v-]?//;
    $v =~ s/^(.*\+\+[.v-]?)([1-9][-.0-9]*[0-9])(.*)$/\2/;
    $p =~ s/^(.*\+\+[.v-]?)([1-9][-.0-9]*[0-9])(.*)$/\1/;
    $s =~ s/^(.*\+\+[.v-]?)([1-9][-.0-9]*[0-9])(.*)$/\3/;
    ($va,$vb,$vc) = split(/[-.]/,$v);
    $clef="$p $s";
    # print " -- $p $v $s $clef  \n";
    if (  $iclef{$clef} == "" ) { $iclef{$clef}=$kk++;}
    $i=$iclef{$clef};
    $pi[$i]=$p;
    $si[$i]=$s;
    $vi[$i] = sprintf("%05d %05d %05d;%s",$va,$vb,$vc,$vi[$i]);
    $VI=  sprintf("%05d %05d %05d",$va,$vb,$vc);
    if($VV le $VI) { $VV=$VI;} 
    $fk[$k] = $_; 
    $ki[$i] = "$k;$ki[$i]";
    $k++;

#    @item=split(/-/);
}
($vv1,$vv2,$vv3) = split(/ /,$VV);
$ver = sprintf("%d.%d-%d",$vv1,$vv2,$vv3);
print " last version: $ver \n";
for ($i=0;$i<$kk;$i++)
{
  # print " $i --- \n" ;
  # print "  $pi[$i]\n";
  # print "  $si[$i]\n";
  # print "  $vi[$i]\n";
   @vvv=split(/;/,$vi[$i]);
   @kkk=split(/;/,$ki[$i]);
    $jj=0;
    for ($j=0;$j<$#vvv;$j++)
    {
	if ( $vvv[$jj] le $vvv[$j])
	{ $jj=$j;}
    }

 #   print " $vvv[$jj]  $kkk[$jj] ??? \n";
    $fff=$fk[$kkk[$jj]];
#   print "$fff \n";
   $filei[$i] = $fff; 
   $tt[$i] = "freefem++".$si[$i] ;
}
#./freefem++.sit
#./freefem++.tar.gz
#./freefem++.tgz
#./freefem++_MacOsX.tgz
#./FFedit.tar.gz
#./freefem++.exe

for ($i=0;$i<$kk;$i++)
{
   if ( -l $tt[i] ) 
   {
       print " symliblink $filei[i]  $tt[i]\n";
  }
}



