#!/usr/bin/perl

#On affiche "Verbe a conjuguer (Par defaut : chanter) : "
print "Donnez un verbe a conjuguer (Par defaut : chanter) : ";
#On affecte à la variable $verbe le contenu de l'entrée standard <STDIN> (Pointeur qui permet de lire le flux d'entrée au clavier)
$verbe=<STDIN>;
#On supprime le dernier caractère contenu dans la variable $verbe seulement si celui-ci est un retour à la ligne
chomp ($verbe);


#On crée un tableau dans lequel on met toutes les terminaisons du présent de l'indicatif
@PRES=("e","es","e","ons","ez","ent");

#On crée un tableau dans lequel on met toutes les terminaisons du présent de l'indicatif pour les verbes du 2e groupe
@PRESIR=("is","is","it","issons","issez","issent");

#On crée un tableau dans lequel on met toutes les terminaisons du présent de l'indicatif pour les verbes du 2e groupe
@PRESGER=("ge","ges","ge","geons","gez","gent");

#On crée un tableau dans lequel on met toutes les terminaisons du présent de l'indicatif pour les verbes du 2e groupe
@PRESCER=("ce","ces","ce","çons","cez","cent");

#On crée un tableau dans lequel on met tous les pronoms
@PRO=("je","tu","il/elle/on","nous","vous","ils");





#Si le contenu de la variable $verbe est vide on exécute le bloc d'instructions
if ($verbe eq "") {

	#On affecte à la variable $verbe le verbe par défaut "chanter"
	$verbe="chanter";
}

#Si le contenu de la variable $verbe contient un verbe finissant par "er" on execute le bloc d'instructions
if ($verbe=~/([a-fh-z]+)er$/) {

	#On affecte à la variable $radical le motif recherché qui se trouve dans la première parenthèse et qui correspond donc au radical
	$rad=$1;
	
	#On affiche:
	print "\nConjugaison du verbe $verbe au present de l'indicatif\n\n";
	
	#On crée une boucle contenant:
	#-un compteur $i initialisé à 0
	#-la condition que $i doit être inférieure à 5 sinon on arrête la boucle
	#-l'incrémentation du compteur à chaque passage de la boucle
	#Puis on execute le bloc d'instructions (6 fois en tout donc)
	for ($i=0;$i<=5;$i++) {
	
	
		#On affiche l'élément numéro $i (Donc un nombre entre 0 et 5) du tableau $pronoms, suivi d'une tabulation, suivi du contenu de la variable $radical et suivi en rouge de l'élément numéro $i (Donc un nombre entre 0 et 5) du tableau $presentindicatif
		#On retourne à la ligne
		print "$PRO[$i] $rad$PRES[$i]\n"; 
	}
	
	
	
}
#Sinon si la condition n'est pas remplie, on exécute le bloc d'instructions
elsif ($verbe=~/([a-z]+)ir$/) {

	#On affecte à la variable $radical le motif recherché qui se trouve dans la première parenthèse et qui correspond donc au radical
	$rad=$1;
	
	#On affiche:
	print "\nConjugaison du verbe $verbe au present de l'indicatif\n";
	
	#On crée une boucle contenant:
	#-un compteur $i initialisé à 0
	#-la condition que $i doit être inférieure à 5 sinon on arrête la boucle
	#-l'incrémentation du compteur à chaque passage de la boucle
	#Puis on execute le bloc d'instructions (6 fois en tout donc)
	for ($i=0;$i<=5;$i++) {
	
	
		#On affiche l'élément numéro $i (Donc un nombre entre 0 et 5) du tableau $pronoms, suivi d'une tabulation, suivi du contenu de la variable $radical et suivi en rouge de l'élément numéro $i (Donc un nombre entre 0 et 5) du tableau $presentindicatif
		#On retourne à la ligne
		print "$PRO[$i] $rad$PRESIR[$i]\n";
	}
}	


#Sinon si la condition n'est pas remplie, on exécute le bloc d'instructions
elsif ($verbe=~/([a-bd-z]+)cer$/) {

	#On affecte à la variable $radical le motif recherché qui se trouve dans la première parenthèse et qui correspond donc au radical
	$rad=$1;
	
	#On affiche:
	print "\nConjugaison du verbe $verbe au present de l'indicatif\n";
	
	#On crée une boucle contenant:
	#-un compteur $i initialisé à 0
	#-la condition que $i doit être inférieure à 5 sinon on arrête la boucle
	#-l'incrémentation du compteur à chaque passage de la boucle
	#Puis on execute le bloc d'instructions (6 fois en tout donc)
	for ($i=0;$i<=5;$i++) {
	
	
		#On affiche l'élément numéro $i (Donc un nombre entre 0 et 5) du tableau $pronoms, suivi d'une tabulation, suivi du contenu de la variable $radical et suivi en rouge de l'élément numéro $i (Donc un nombre entre 0 et 5) du tableau $presentindicatif
		#On retourne à la ligne
		print "$PRO[$i] $rad$PRESCER[$i]\n";
	}
}	
#Sinon si la condition n'est pas remplie, on exécute le bloc d'instructions
elsif ($verbe=~/([a-z]+)ger$/) {

	#On affecte à la variable $radical le motif recherché qui se trouve dans la première parenthèse et qui correspond donc au radical
	$rad=$1;
	
	#On affiche:
	print "\nConjugaison du verbe $verbe au present de l'indicatif\n";
	
	#On crée une boucle contenant:
	#-un compteur $i initialisé à 0
	#-la condition que $i doit être inférieure à 5 sinon on arrête la boucle
	#-l'incrémentation du compteur à chaque passage de la boucle
	#Puis on execute le bloc d'instructions (6 fois en tout donc)
	for ($i=0;$i<=5;$i++) {
	
	
		#On affiche l'élément numéro $i (Donc un nombre entre 0 et 5) du tableau $pronoms, suivi d'une tabulation, suivi du contenu de la variable $radical et suivi en rouge de l'élément numéro $i (Donc un nombre entre 0 et 5) du tableau $presentindicatif
		#On retourne à la ligne
		print "$PRO[$i] $rad$PRESGER[$i]\n";
	}
		
}
