Hi
Sorry I misunderstood your question on my previous post.
From perldoc system:
This is not what you want to use to capture the output from a command, for that you should use merely backticks or qx//, as described in "`STRING`" in perlop.
To read both a command's STDOUT and its STDERR separately, it's easiest to redirect them separately to files, and then read from those files when the program is done:
system("program args 1>program.stdout 2>program.stderr");
Original submission:
Hi
The following code doesn't print anything on the screen:
`echo test`;The following, instead, does:
print `echo test`;
The backticks (man perlop) just spawn a new process, execute the stuff, and capture the output on the left-hand-side variable.
Example:
my $output = `echo 123!`; print $output
Basically, what has happened to your code is that the string got echoed on _another_ process, whose output you never bothered printing.
Hope this helps
In reply to Re: Problem with backtick?
by okram
in thread Problem with backtick?
by iPerl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |