#!/usr/bin/perl
#On affiche "Donnez moi le nom du fichier a copier : "
print "Donnez moi le nom du fichier a copier : ";
#On affecte à la variable $fichieracopier le contenu de l'entrée standard <STDIN> (Pointeur qui permet de lire le flux d'entrée au clavier)
my $fichieracopier=<STDIN>;
#On supprime le dernier caractère contenu dans la variable $fichieracopier seulement si celui-ci est un retour à la ligne
chomp ($fichieracopier);
#On affiche "Donnez moi le nom du fichier qui doit contenir la copie (Par defaut copie.txt) : "
print "Donnez moi le nom du fichier qui doit contenir la copie (Par defaut copie.txt) : ";
#On affecte à la variable $fichiercontenantcopie le contenu de l'entrée standard <STDIN> (Pointeur qui permet de lire le flux d'entrée au clavier)
my $fichiercontenantcopie=<STDIN>;
#On supprime le dernier caractère contenu dans la variable $fichiercontenantcopie seulement si celui-ci est un retour à la ligne
chomp ($fichiercontenantcopie);
#Si la condition entre parenthèse n'est pas réalisée, on exécute le bloc d'instructions
#L'option -f permet de tester l'existance du fichier dont le nom est contenu dans la variable $fichieracopier
unless (-f $fichieracopier) {
	#On affecte la chaîne de caractères "essai.txt" à la variable $fichieracopier
	$fichieracopier="essai.txt";
	#On ouvre en écriture le fichier dont le nom est contenu dans la variable $fichieracopier et on le référence sous le nom FICHIERENTREE
	#Si le fichier n'existe pas, il est créé
	#Si le fichier existe déjà, son contenu est écrasé
	open(FICHIERENTREE, ">$fichieracopier");
	#On ferme le fichier référencé sous le nom FICHIERENTREE
	close(FICHIERENTREE);
}
#Si le contenu de la variable $fichiercontenantcopie est égal à rien, on exécute le bloc d'instructions
if ($fichiercontenantcopie eq "") {
	#On affecte la chaîne de caractères "copie.txt" à la variable $fichiercontenantcopie
	$fichiercontenantcopie="copie.txt";
}
#On ouvre en lecture le fichier dont le nom est contenu dans la variable $fichieracopier et on le référence sous le nom FICHIERENTREE1
open(FICHIERENTREE1, "$fichieracopier");
#On ouvre en écriture le fichier dont le nom est contenu dans la variable $fichieracopier et on le référence sous le nom FICHIERSORTIE
open(FICHIERSORTIE, ">$fichiercontenantcopie");
#Tant qu'on peut associer une ligne du fichier référencé sous le nom FICHIERENTREE1 à la variable $ligne, on exécute le bloc d'instructions
while (my $ligne=<FICHIERENTREE1>) {
	#On écrit dans le fichier référencé sous le nom FICHIERENTREE1 le contenu de la variable $ligne
	print FICHIERSORTIE $ligne;
}
#On ferme le fichier référencé sous le nom FICHIERSORTIE
close(FICHIERSORTIE);
#On ouvre en lecture le fichier dont le nom est contenu dans la variable $fichiercontenantcopie et on le référence sous le nom FICHIERENTREE2
open(FICHIERENTREE2, "$fichiercontenantcopie");
#On affiche "Contenu du fichier contenant la copie :"
#On retourne à la ligne
print "Contenu du fichier contenant la copie :\n";
#Tant qu'on peut associer une ligne du fichier référencé sous le nom FICHIERENTREE2 à la variable $ligne, on exécute le bloc d'instructions
while (my $ligne=<FICHIERENTREE2>) {
	#On affiche le contenu de la variable $ligne
	print $ligne;
}
#On retourne à la ligne
print "\n";
#On ferme le fichier référencé sous le nom FICHIERENTREE2
close(FICHIERENTREE2);
#On ferme le fichier référencé sous le nom FICHIERENTREE1
close(FICHIERENTREE1);