On Windows:
C:\Windows\system32>pwd /c/Windows/system32 C:\Windows\system32>perl -E"say `pwd`" /c/Windows/system32 C:\Windows\system32>perl -E"say eval{`pwd`}" /c/Windows/system32 C:\Windows\system32>perl -E"say eval{'pwd'}" pwd C:\Windows\system32>perl -E"say system('pwd')" /c/Windows/system32 0
On Linux (Raspbian):
dr@mail:~ $ pwd /home/dr dr@mail:~ $ perl -E'say `pwd`' /home/dr dr@mail:~ $ perl -E'say eval{`pwd`}' /home/dr dr@mail:~ $ perl -E'say eval{"pwd"}' pwd dr@mail:~ $ perl -E'say system("pwd")' /home/dr 0
I think you are confusing yourself by combining eval with backticks. Backticks alone should work, as demonstrated above. I prefer qx() to backticks as I find it clearer, but the effect is identical and a matter of preference. Your error message suggests that the executable is either not where you expect or not named what you think, but that's a different problem. Try the examples I have given with your executable and you should end up on the right road.
Regards,
John Davies
Almost immediate update as you solved your problem while I was composing my suggestions: it looks as though the executable was not where you expected. The leading two dots are taking you to a relative directory rather than the absolute one you specified originally.
In reply to Re: use of Backticks to catch console output
by davies
in thread use of Backticks to catch console output
by Takamoto
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |