#!/usr/bin/perl -w
# remd: editeur aled avec menu. alain adelmar
$x = "x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x\n";
$bienvenu = "$x\nBienvenu sur l'éditeur aled\n editeur alain A_d_e_l_m_a_r\nTaper Ctr-D pour sortir\n$x\n\n";
$choix = 12;
$prompt = "Entrer votre choix: nouveau(0), ouvrir(1), sauvegarder(2)\nou continuez(Enter)...\n";
&choix;
sub choix {
while($choix ne "")
{ # affiche un prompt en boucle
print("$prompt");
$choix = <STDIN>;
chop($choix);
if($choix eq "0")
{
&nouveau;
}
if($choix eq "1")
{
&ouvrir;
}
elsif($choix eq "2")
{
&sauv;
}
}
}
print "désirez vous sortir maintenant:\n";
$resp = <STDIN>;
chomp $resp;
if ($resp =~ /^o|y/i) {
die "merci, à tchao...\n";
}
else {
&nouveau;
}
sub nouveau {
print $bienvenu;
@contenu = <STDIN>;
print "n'oublier pas de sauver votre travail qui par defaut sera sauvegarder sur votre repertoire avec pour nom 'edition_date_du_jour.log'\n";
$dt = localtime(time);
$filetmp = "trav_" . "$dt" . "\.log";
open FTMP, ">$filetmp" or die "Ouverture impossible $!";
print FTMP @contenu;
close FTMP or die "fermeture a l'os gros_caca $!";
}
sub ouvrir {
print "Quel fichier désirez vous ouvrir:\n";
$filename = <STDIN>;
chomp $filename;
until (-e $filename) {
print "veuillez enrer un nom de fichier correct, (svp)\n";
$filename = <STDIN>;
chomp $filename;
}
open FO, "$filename" or die "Ouverture impossible $!";
@contenu = <FO>;
close FO or die "fermeture impossible $!";
foreach $ligne(@contenu) {
print $ligne;
}
print "\n";
print $bienvenu;
@nwcontenu = <STDIN>;
print "n'oublier pas de sauver votre travail qui par defaut sera sauvegarder sur votre repertoire avec pour nom 'edition_date_du_jour.log'\n";
$dt = localtime(time);
$filetmp = "trav_" . "$dt" . "\.log";
$ligne_vierge = "\n\n";
push @contenu, $ligne_vierge;
push @contenu, @nwcontenu;
open FTMP, ">$filetmp" or die "Ouverture impossible $!";
print FTMP @contenu;
close FTMP or die "fermeture a l'os gros_caca $!";
}
sub sauv {
print "entrez le nom de votre travail\n";
$filename = <STDIN>;
chomp $filename;
# controler si un fichier n'a pas le meme nom
while (-e $filename) {
$i++;
($file, $ext)= split(/./, $filename);
$filename = "$file" . "_$i" . "\.$ext";
print "Votre travail sera sauvegarder sous $filename\n";
open(F, ">$filename") or die "Ouverture impossible $!";
print F @contenu;
close F || die "fermeture impossible $!";
}
}
END;