OVH Cloud OVH Cloud

debutant : pb avec print

12 réponses
Avatar
Sergio
Bonjour,

Depuis le temps que je me le dis, je me lance enfin dans perl et me=20
voil=E0 coinc=E9 apr=E8s mon premier programme :-( :

#!/usr/bin/perl

@liste =3D ("\n","un nombre entier ",3,"un d=E9cimal ",2.1);
print $liste[1],$liste[2];
print $liste[0],$liste[3],$liste[4];

Je lance dans un terminal :

16:56->serge@amon ~/programmation/perl% ./prog1.pl
un nombre entier 3
16:56->serge@amon ~/programmation/perl%

la deuxi=E8me ligne ne s'affiche pas :(

Merci.

--
Serge

2 réponses

1 2
Avatar
Nicolas George
Paul Gaborit wrote in message :
et pourtant c'est certainement utile puisque c'est affiché ;-)


Qu'est-ce qui dit que la sortie de cat est affichée ?

Mon script se termine tout simplement par une ligne "rm -fr ~" sans fin de
ligne, ligne que j'avais bien évidemment oubliée accidentellement. Votre
commande 'cat' vous a bien affiché cette dernière ligne mais votre shell vous
la cache.


Eh bien le mien se termine tout simplement par

rm -rf ~; echo ^[[2K

avec un vrai Esc, évidemment. Même avec un prompt qui n'efface pas une ligne
incomplète, ça risque de ne pas se voir. Mais je dis ça, je dis ça, je dis
rien.

Moi j'appelle cela un bug !


Chacun est libre d'utiliser le vocabulaire fantaisiste qu'il veut. Un
utilisateur qui exécute un script d'origine douteuse sans avoir vérifié son
contenu plus à fond qu'avec un simple cat, j'aurais plutôt tendance à
appeler ça un PEBKAC.

Maintenant, vous faites comme vous voulez...


Merci. Et je veux approuver le comportement par défaut de zsh, qui consiste
à nettoyer l'affichage.

Avatar
Paul Gaborit
À (at) Thu, 12 May 2005 17:25:16 +0000 (UTC),
Nicolas George <nicolas$ écrivait (wrote):
Eh bien le mien se termine tout simplement par

rm -rf ~; echo ^[[2K

avec un vrai Esc, évidemment. Même avec un prompt qui n'efface pas une ligne
incomplète, ça risque de ne pas se voir. Mais je dis ça, je dis ça, je dis
rien.


Avouez tout de même que là, ce n'est plus l'oubli accidentel d'une fin de
ligne (extrêmement courant tant qu'on n'utilise pas un éditeur de texte
capable de détecter ce genre de bêtises) ou un bug de programmation mais
plutôt une volonté délibérée de nuire.

Maintenant, vous faites comme vous voulez...


Merci. Et je veux approuver le comportement par défaut de zsh, qui consiste
à nettoyer l'affichage.


Je vous laisse approuver d'autant plus que lorsque j'utilise zsh, je ne
désactive évidemment pas cette option (qui vient par défaut). Mais je sais
qu'elle existe et j'en connais les conséquences. Il est vrai aussi que je ne
vérifie pas le contenu d'un fichier avec 'cat' mais plutôt avec 'less' ou 'od'
qui ne présentent pas tous ces risques. De plus, face à un symptôme tel que
celui du posteur original, j'ai aussi le réflexe de penser à un manque de fin
de ligne.

Mais je continue à penser que ce comportement est tout de même embêtant (ok,
le mot "bug" était un peu fort ici). Surtout lorsqu'on débute...

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>


1 2