[Perl] Scrit et Open Perl Ide [Résolu/Fermé]

Signaler
Messages postés
302
Date d'inscription
dimanche 14 octobre 2007
Statut
Membre
Dernière intervention
13 mai 2014
-
Messages postés
302
Date d'inscription
dimanche 14 octobre 2007
Statut
Membre
Dernière intervention
13 mai 2014
-
Bonjour,
comment je peu forcer le print en PERL:
voici le programme que j'ai ecris dans le open perl ide ( j'ai deja installer activeperl):

#!/usr/bin/perl
print ("donner une valeur");
$a = <STDIN>;
print ("vous venez de taper ".$a);

et voici l'affichage en console par exemple moi j'ai tapé le chiffre 3 :

3donner une valeurvous venez de taper 3

et vous voyez bien que la y'a un leger probleme car je tape avant que la commande print s'execute alors je me demandé si y'avais une commande qui va forcer le print.
j'ai eu le meme probleme pour programmer du c sous eclipse et j'ai une reponse satisfaisante ici :
https://forums.commentcamarche.net/forum/affich-14364564-eclipse-c-c#8

merci pour vos reponses.
bonne journée.

2 réponses

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 542
Salut,

Ton script est correct, quoique écrit à la façon C.
Pas besoin des parenthèses pour print

En ce qui concerne l'affichage ce n'est pas ton script qui pose des problèmes mais le open ide perl.
Personnellement je trouve que l'utilisation d'un editeur de texte est suffisant pour écrire un script en perl.

Dans ton cas il faut utiliser la variable $| ou $OUTPUT_AUTOFLUSH si tu utilises le module English

Si cette variable est vrai alors le tampon est forcé à ce vider après chaque print, printf et write.
Par défaut elle vaut faux

Ce qui donne dans ton script
print "donner une valeur";
$|=1;
$n = <STDIN>;
print "vous venez de taper ".$n; 


Toutefois il ne faut pas taper le numéro toute suite après donnez une valeur puisque tu auras ça

donnes une valeur3
vous venez de taper donner une valeur3


En ce qui concerne $a et $b vaut mieux ne pas les utiliser de façon ordinaire.
Il s'agit des variables spéciales par paquetage utiliser par la fonction sort ($a - le 1er élément de chaque paire, $b - le 2ème élément de chaque paire).
#!/usr/bin/perl n'est pas nécessaire, tu n'est pas sous Linux

P.S. Exécute ton script (sans les modifications que je t'ai donné) dans la console DOS et tu verras que tout vas bien

Voici un exemple d'exécution du même script avec open ide et la console DOS https://www.cjoint.com/?lbjKVp2Hpt

Messages postés
302
Date d'inscription
dimanche 14 octobre 2007
Statut
Membre
Dernière intervention
13 mai 2014
38
Bonjour,
Monsieur, Merci pour cette belle explication.
Bonne journée.
be blessed.