in reply to I want to capture a programs output AND I want the return status
sounds like a job for IPC::Open2 or IPC::Open3. specifically, Open3, which will catch the STDIN, STDOUT, and STDERR from a program/ process you could normally run with backticks or a call to system