Textausgabe ohne Newline

Post Reply
Message
Author
aebi
Posts: 41
Joined: 02. Dec 1999 10:32
Location: Kastanienbaum

Textausgabe ohne Newline

#1 Post by aebi »

Hallo zusammen

Ich habe ein kleines, nerviges Problem auf dass ich einfach keine Antwort finden kann.
Ich habe mir ein Perl-Skript geschrieben indem eine Fortschrittsanzeige aus Punkten vorkommt. (Getting Discs ......)
Leider wir mir der Text erst nach dem abschliessenden Newline angezeigt. (Und es ist somit keine Fortschrittsanzeige mehr, da alles auf einmal erscheint)

CODE:
foreach my $disc (@discs) {
    my $detail = $cddb->get_disc_details($genre, $cddb_id);
    print ".";
}
print "\n"

Wie kann ich das am besten umgehen?

Besten Dank!

Philippe

Jochen

Re: Textausgabe ohne Newline

#2 Post by Jochen »

Hier, hier! Ich, ich! <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Ernsthaft: Viel perl kann ich nicht, aber das hatte ich mal irgendwo gesehen und als Codebeispiel unter in "man perlfunc" wiedergefunden:<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">select STDOUT ; $| = 1; # make unbuffered</font><hr></pre></blockquote>Wer mehr perl kann als ich, kann vielleicht auch sagen, ob das select-Statement vorher notwendig ist ind welche Nebeneffekte es hat...

Jochen

S. Tdout

Re: Textausgabe ohne Newline

#3 Post by S. Tdout »

## FILEHANDLE wählen,
select STDOUT;
## auf welchen sich die Spezialvariable
$| = 1;
## bezieht. (Ist wohl ohne Eingriffe STDOUT)

## Bei vielen Debug-Meldungen auf STDERR käme aber vielleicht
## auch mal ein Puffern in Frage:
select STDERR; $| = 0;

S. Tdout

Re: Textausgabe ohne Newline

#4 Post by S. Tdout »

## Korrekter ist wohl, `$|' bezieht sich immer auf das Standard-File-Handle (STDIO)
## und mittels `select FILEHANDLE' wird eben jenes zum Standard. Also nach einem

select IrgendEinHandle; $| = 1;

## wieder

select STDOUT;

## Sonst landet ein `print( "Ein String" )' nicht auf STDOUT,
## sondern in IrgendEinHandle.
## Perl-Gewurschtel ##

S. Tdout

Re: Textausgabe ohne Newline

#5 Post by S. Tdout »

STDOUT statt STDIO

Post Reply