I'll tak a look at IPC::Open3.
I agree with the sentiment towards keylogging. This isn't a keylogger, per se. It's just a script that will execute some code once a certain key combination has been entered. The end users are fully aware of its presence, and its pretty much the whole reason for using the system.