I'm not sure what kind of linkage you're looking for, but if I were implementing this I'd use
IPC::Open2 to open a pipe to and from the game, then just send input and check the output. A bug in your game could cause a hang, so I would also set an
alarm before each command.