#!/usr/bin/perl

#####################################
# Dictionnaire Lempel-Ziv
#####################################

#####################################
# Variables

$chaine = shift(@ARGV); #Récupération du nom de fichier écrit dans la console passé en argument
$indiceMin = shift(@ARGV);
$indiceMax = shift(@ARGV);
$fichier=$chaine; #Variable nom de fichier correspondant à la chaine précedemment citée

open(FILEDES, "<$fichier"); #Ouverture du fichier en lecture
@lignes=<FILEDES>; #Récupération des lignes du fichier dans 1 tableau
close(FILEDES); #Fermeture du fichier
# 
#####################################

for ($i=0;$i<$NombreDeLignes;$i++){ #Pour chaque ligne du fichier
	    @chaine_de_base = lecture_chaine_caractere($lignes[$i]); #Récupération de la chaine de base
	    $taille = length($lignes[$i]); #Taille de la chaine de base
	}
ecrire_dico();
exit(0);

#####################################
# Lit la chaine et range les lettres
# dans un tableau
#####################################

sub lecture_chaine_caractere
	{
	my ($chaine_brute) = @_; #Chaine passée en argument
	my (@tableau_caractere) = split ('',$chaine_brute); #Retire les espaces dans la chaine
	return @tableau_caractere; #Retourne donc un tableau de caractères sans espace
	}

#####################################
# ecrit le dico
#
#####################################

sub ecrire_dico
	{
	open(FILEDES, ">$fichier.alex"); #Ouverture du fichier en écriture
	for ($j=$indiceMin+1;$j<=$indiceMax+1;$j++) {
		for($i=0;$i<@lignes;$i++) #Pour chaque mot du dico
			{
			if ( length($lignes[$i]) == $j ) {
				print FILEDES $lignes[$i]; #Ecrire dans le fichier
				}
			}
		}
	close(FILEDES); #Fermeture du fichier
	}
