You are Suffering from Buffering
The '\n' newline character causes the file buffer to be flushed. Yes, STDOUT (in this case the screen) is considered a file. Without the newline, the buffer isn't flushed as often as you would probably like, and the result is that nothing gets printed (yet).
This is a pretty common problem. So common, in fact, that there's a new feature that you can use, called "say()". say() is identical to print(), but automatically appends the newline character for you. You have to tell perl to use the feature for it to be available. See say and feature for an explanation of how to enable and use say()
Have a look at the article I linked to at the top of this post.
If you don't mind, in the future, try to ask the question in a block of text preceding the code snippet. It's tedious trying to find the question embedded within the script.
Dave
In reply to Re: Strangely adding a "\n" character prints a variable
by davido
in thread Strangely adding a "\n" character prints a variable
by iphone
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |