Your right! `cls` does indeed return an 'escape sequence' to perl. In this case, ascii 12 (form feed). I'm guessing that is a throw-over from DOS when clearing the screen was considered the glass-teletype equivalent of throwing a new page on a printer.
However, the situation isn't that clear cut. I can capture the character into a file CLS > junk and output that file to the screentype junk, and see the character being produced, but it doesn't have the desired effect as the equivalent would under sh/csh/ksh/bash et al.
In fact, I've tried half a dozen other ways of passing the sequence to the terminal driver but it steadfastly refuses to act upon it! So, my conclusion is that the CLS command, which is built-in to CMD.EXE, emits the escape sequence to clear the screen, but the terminal driver only acts upon it if it is recieved from CMD.EXE!
Of course, 'terminal driver' is an alien concept to a system that doesn't use terminals. In reality, I suspect that it is CMD.EXE itself that either clears the screen, or calls a system API to do it. Which kind of begs the question, why does it bother emiting the escape sequence only to detect it, remove it from the buffer and act upon it in another part of it's own internal code. I guess that is, of necessity, a rhetorical question.
{sigh} I can hear your mirth now, despite the 1000 ks between our locations:)
In reply to Re: Re: The difference between [system] and `backticks` and [qx//] (on win32)
by BrowserUk
in thread The difference between [system] and `backticks` and [qx//] (on win32)
by BrowserUk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |