in reply to Calling a C++ binary from Perl

This sounds like a shell, environment issue. Rather than running your executable, run a shell and cd to where you need to be. This may have security implications. Something like system "(cd /your_bin; handle_cd_error; ./your_cmd; )";. Watch the security issues with system and with shelling-out.

Be well,
rir

Update: My point invalidated by further info from kwaping.