Schrift
[thread]6932[/thread]

ausgabe: ausgabe erst nach <STDIN>



<< >> 7 Einträge, 1 Seite
Gast Gast
 2005-04-26 19:06
#54247 #54247
hallo

ich bin absoluter anfänger. mein programm lautet:

Code: (dl )
1
2
3
4
5
6
7
#!/usr/bin/perl -w

print "Geben Sie den Radius ein: ";
chomp ($radius = <STDIN>);
$pi = 3.14;
$result = 2 * $pi * $radius;
print "Bei einem Radius von $radius ergibt sich ein Umfang von $result\n";


und die ausgabe:

>perl -w test.pl
4
Geben Sie den Radius ein: Bei einem Radius von 4 ergibt sich ein Umfang von 25.12
>Exit code: 0

warum wird die frage nicht VOR dem wirklichen eingeben der zahl ausgegeben??? vielen dank für die hilfe.

gruss stephane

edit pq: code-tags hinzugefügt\n\n

<!--EDIT|pq|1114530095-->
sesth
 2005-04-26 19:11
#54248 #54248
User since
2005-02-01
181 Artikel
BenutzerIn
[default_avatar]
Weil die Ausgabe in einem Buffer gecached wird. Entweder Du schaltest den Cache ab oder beendest die Zeile mit einem Zeilenwechsel. Dann erfolgt die Ausgabe wie gewünscht.
Gruß
Thomas
pKai
 2005-04-26 19:11
#54249 #54249
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
Deine Ausgabe ist gepuffert.
Vor dem ersten print die Anweisung
Code: (dl )
$|=1;
einfügen.
I sense a soul in search of answers.
pq
 2005-04-26 19:40
#54250 #54250
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Wiki:Wie frage ich bei Perl-Community.de?, insbesondere Code-Tags
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
sri
 2005-04-26 21:43
#54251 #54251
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=pKai,26.04.2005, 17:11]Deine Ausgabe ist gepuffert.
Vor dem ersten print die Anweisung
Code: (dl )
$|=1;
einfügen.[/quote]
Wenn du schon auf autoflush hinweist tu es bitte richtig!!!

Immer wieder muss ich sehen das Leute global autoflush einschalten und sich spaeter wundern wenn das Programm langsam laeuft. (kann je nach io sehr erheblich sein)

Also wenn autoflush, nur lokal, global sollte es den Leuten vorbehalten sein die wissen was sie da tun! ;)\n\n

<!--EDIT|sri|1114537541-->
pKai
 2005-04-26 22:58
#54252 #54252
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
@sri: Ich denke mal bei einem 5-Zeilen-Programm ist man diesbezüglich noch auf der sicheren Seite. ;)

Ansonsten halte ich es eher wie Randal L. Schwartz:
Quote
Lines 1 through 3 start nearly every program I write, enabling warnings, compiler restrictions, and unbuffering STDOUT.
... I do these lines out of habit now.


:)
I sense a soul in search of answers.
sri
 2005-04-27 02:11
#54253 #54253
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=pKai,26.04.2005, 20:58]@sri: Ich denke mal bei einem 5-Zeilen-Programm ist man diesbezüglich noch auf der sicheren Seite.  ;)
[/quote]

Es kommt nicht auf die Zahl der Programmzeilen an, sondern auf die menge der gelesenen/geschriebenen Daten!

[quote=pKai,26.04.2005, 20:58]
Ansonsten halte ich es eher wie Randal L. Schwartz:
Quote
Lines 1 through 3 start nearly every program I write, enabling warnings, compiler restrictions, and unbuffering STDOUT.
... I do these lines out of habit now.


:)[/quote]

Er weiss aber das es in diesem Fall nicht weh tut.
Quote
For this program, a buffered STDOUT really didn't hurt, since there weren't any print operations, but I do these lines out of habit now.


Trotzdem ein schlechtes Beispiel, werd ich ihn gleich mal mit aergern! :)
<< >> 7 Einträge, 1 Seite



View all threads created 2005-04-26 19:06.