in reply to use of Backticks to catch console output

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.