First thing of note is that you are reading your entire logfile into an array, which is perfectly fine, but then you're doing a comparison to see if the array is numerically not equal to a null string. It appears to me you are trying to test for an empty file - then I'd suggest doing one of the following:
orif (@file != 0) {# @file in scalar context here - returns number of li +nes in the array #your stuff here };
if ($#file < 0) {# $#file returns max index of array #your stuff here };
Secondly, you can achieve a delay in program execution using Perl's sleep built-in function, much more readably and simply than a for loop that does nothing.
Finally, the reason that your script's output is not being displayed until after the delay loop, is output buffering. There is an excellent FAQ on this topic here. Update: this is the same link as chromatic++ gives above.
I hope this is of some use to you! Good luck.
..Guv
Update: ++tachyon for a neat, very Perlish solution below!
In reply to Re: Do-nothing loops
by theguvnor
in thread Do-nothing loops
by Wassercrats
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |