How can I print text immediately without waiting for a newline in Perl?
问题 I have a computationally expensive task in perl, and would like to inform the user that computation is ongoing by printing out a period after each portion of the computation is completed. Unfortunately, until I print a "\n", none of my periods are printed. How can I address this? 回答1: You need to set autoflush for STDOUT. Example: use IO::Handle; STDOUT->autoflush(1); foreach (1..20) { print '.'; sleep(1); } 回答2: set $|=1 before you start printing. Eg. perl -e ' $|=1; foreach (1..10) { print