#!/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 $fichiercible le contenu de l'entrée standard <STDIN> (Pointeur qui permet de lire le flux d'entrée au clavier) my $fichiercible=<STDIN>; #On supprime le dernier caractère contenu dans la variable $fichiercible seulement si celui-ci est un retour à la ligne chomp ($fichiercible); #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 $fichiercopie le contenu de l'entrée standard <STDIN> (Pointeur qui permet de lire le flux d'entrée au clavier) my $fichiercopie=<STDIN>; #On supprime le dernier caractère contenu dans la variable $fichiercopie seulement si celui-ci est un retour à la ligne chomp ($fichiercopie); #Si la condition entre parenthèse n'est pas réalisée, on exécute le bloc #-f permet de tester l'existance du fichier $fichiercible unless (-f $fichiercible) { #On affecte la chaîne de caractères "ajout.txt" à la variable $fichiercible $fichiercible="ajout.txt"; #On ouvre en écriture le fichier dont le nom est contenu dans la variable $fichiercible et on le référence sous le nom FICHIERENTREE #Si le fichier n'existe pas, il est créé et s'il existe déjà, son contenu est écrasé open(FICHIERENTREE, ">$fichiercible"); close(FICHIERENTREE); } #Si le contenu de la variable $fichiercopie est égal à rien, on exécute le bloc d'instructions if ($fichiercopie eq "") { #On affecte la chaîne de caractères "copie.txt" à la variable $fichiercopie $fichiercopie="copie.txt"; } #On ouvre en lecture le fichier dont le nom est contenu dans la variable $fichiercible et on le référence sous le nom FICHIERENTREEPREM open(FICHIERENTREEPREM, "$fichiercible"); #On ouvre en écriture le fichier dont le nom est contenu dans la variable $fichiercible et on le référence sous le nom FICHIERSORTIE open(FICHIERSORTIE, ">$fichiercopie"); #Tant qu'on peut associer une ligne du fichier référencé sous le nom FICHIERENTREEPREM à la variable $ligne, on exécute le bloc d'instructions while (my $ligne=<FICHIERENTREEPREM>) { #On écrit dans le fichier référencé sous le nom FICHIERENTREEPREM le contenu de la variable $ligne print FICHIERSORTIE $ligne; } close(FICHIERSORTIE); #On ouvre en lecture le fichier dont le nom est contenu dans la variable $fichiercopie et on le référence sous le nom FICHIERENTREEDEU open(FICHIERENTREEDEU, "$fichiercopie"); #On affiche "Contenu du fichier contenant la copie :" 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 while (my $ligne=<FICHIERENTREEDEU>) { print $ligne; } print "\n"; close(FICHIERENTREEDEU); close(FICHIERENTREEPREM);