Where is this buffer?Handled by the kernel.
Doesnt it count as memory?It does. Just not Perl memory (which means, you can store a lot more data for the same amount of memory ;-))
So according to what you said the output is stored in this buffer. Backticks empty them into a scalar all at once.Yes, which gives another difference (and, IMO, the most important difference) between a pipe read and backticks: with backticks, the entire output is collected first - that is, the called program has to finish first before the Perl program can continue; with a pipe, the Perl program can do something as soon as a line of data becomes available.
Incase of open, on calling the open statement, the command gets executed and the output is stored in the buffer, and the filehandle is for the buffer?? :)Sort of. Both the command and the Perl program can run in parallel. And the handle you're getting isn't quite the same as a handle you're getting when opening a file. You cannot seek() a buffer, for instance.
In reply to Re^3: Executing Commands with "open"
by JavaFan
in thread Executing Commands with "open"
by abhijithtk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |