#!/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;