Un éditeur de texte pour Linux, pour console, style "post-it", qui sauvegarde vos
message par défaut, sous le label trav_date.log
Il insère l'extension (.txt) si vous l'avez
omise. J'ai volontairement laisser le source sous deux formes en
normal et en couleur
pour mieux le déchiffrer pour l'exemple.
$x = 'x' x 30;
$p = 0; # p comme problème
print "\n$x\nBienvenue sur l'éditeur alEd\npour
sortir\nTaper: Ctrl-D\n$x\n\n";
@a = <STDIN>;
# pub
$aa = "\n[a_l_a_i_n // A_d_e_l_m_a_r]";
#=============================== sauvegarde:
print "Sous quel titre voulez vous sauver votre travail\n";
chomp ( $resp = <STDIN> );
if ( $resp eq "") {
$p = 1;
}
elsif ( $a[0] =~ /^#!\//) {
open F, ">$resp" || print "Achtung, le prog
$resp n\'a pu être sauver $!" && ( $p = 1 );
print F @a;
close F or die "Le script $resp est ouvert $!";
print "maintenant $resp est enregistré
dans le rep courant\n";
}
else {
if ($resp =~ /\.\w{3,4}$/) {
open F, ">$resp" ||
print "Achtung, le fichier $resp n\'a pu être sauver
$!"&&($p=1);
@a = ("$x\n" , "$resp\n"
, "$x\n" , @a , "$aa");
print F @a;
close F or die "no es
possibilé de siera el $resp $!";
}
else {
rename ("$resp",("$resp"
. "\.txt"));
print "maintenant
$resp\.txt est enregistré dans le rep courant\n";
}
if ( $p = 1 ){
$lbnow = "trav".(localtime[6]).".log";
open L, ">$lbnow" || print "impossible de
sauvegarder le travail: $!";
print L @a;
close L;
print "c\'est fait\n";
}
END;
==================================|| en couleur ||===================|
#!/usr/bin/perl -w
# remd: éditeur personnel de texte, alain
Adelmar 22 Janvier 2001.
# ce programme fonctionne bien.
do clear;
# a revoir de façon a appeler dans bash la
commande clear.
$x = 'x' x
30;
$p = 0;
# p comme problème
print "\n$x\nBienvenue
sur l'éditeur alEd\npour sortir\nTaper: Ctrl-D\n
$x\n\n";
# Tous ce que vous entrer jusqu'a Ctrl-D sera
stocké dans la variable liste @a
@a = <STDIN>;
# pub
$aa = "\n[a_l_a_i_n // A_d_e_l_m_a_r]";
#=============================== sauvegarde:
print "Sous quel titre voulez
vous sauver votre travail\n";
chomp ($resp
= <STDIN>);
if ($resp
eq ""){
$p = 1;
}
elsif ($a[0]
=~ /^#!\//) {
open F, ">
$resp" ||
print "Achtung, le prog
$resp n\'a pu être sauver $!"
&& ($p
= 1);
print F
@a;
close F
or die "Le script
$resp en tant que fichier est ouvert
$!";
print "maintenant
$resp est enregisré dans
le rep courant\n";
}
else {
open F, ">
$resp" || print
"Achtung, le fichier $resp n\'a
pu être sauver $!" &&
($p = 1);
@a=("
$x\n","$resp\n","
$x\n",@a,"
$aa");
print F
@a;
close F
or die "no es possibilé de siera
el $resp $!";
rename ("
$resp",("$resp".".txt"));
print "maintenant
$resp.txt est enregisré
dans le rep courant\n";
}
if ($p
= 1) {
$lbnow = "trav"
. (
localtime[
6])
. ".log";
open L, ">
$lbnow" || print
"impossible de sauvegarder le travail: $!";
print L
@a;
close L;
print "c\'est
fait\n";
}
END;
Remarque: En fait il y a une petite
différence entre le source en noir et blanc et celui en couleur:
Celui en normal prend en compte l'extension que vous aurez bien
voulu lui donner alors que celui en couleur vous préviens si les
lignes que vous avez entrées sont un script et enregistre votre
travail par défaut aussi. Avec une petite série de test
il aurai pu entrer pour vous l'extension du programme écris (ex:
.pl pour perl mais il faudrait avoir un sérieux problème
pour se servir d'un tel éditeur pour écrire du code).