in reply to (Zigster)Re: sleep?
in thread sleep?

It was surprising to me, also, that one must add a "\n" to one's programs to see the output as it is printed. Typing 'perldoc perlfaq5' from the command line explains why.

It turns out that the need to add a "\n" is an artifact of Larry Wall choosing to write perl in C. Perldoc explains that

The C standard I/O library (stdio) normally buffers characters set to devices...Any time you use print() or write() in Perl, you go through this buffering...Serial devices (e.g., modems, terminals) are normally line buffered, and stdio sends the entire line when it gets the newline.

The more I learn about Perl, the more I think that to really know Perl one must know the language that Perl is written in, C. Moreover, I think that, even aside from portability problems, Perl would not have been Perl if Larry had chosen to write it in Lisp or Pascal. Much of what we think of as Perlish is really C-ish.

Replies are listed 'Best First'.
Re: Re: (Zigster)Re: sleep?
by extremely (Priest) on Mar 21, 2001 at 02:55 UTC
    You've thumped a big nail on the head there my friend! People new to the language never quite understand that perl started out a melange of C, awk, sed, and shell-script. Not knowing at least a little about them can slow down your understanding of many a perl quirk. Maybe we should hang a real post of this up under Meditations...

    --
    $you = new YOU;
    honk() if $you->love(perl)