in reply to Re: IPC::open3 obfuscification
in thread IPC::open3 obfuscification

That is another possibility, and made me think of the following hackish solution that does what the original code was meant to:
system("yes yes | cleartool setcs $CS_FILENAME 2> /dev/null");
(This assumes Unix.)

If you want more flexible error handling you need to go down the other paths I suggested.