in reply to output script to /dev/tty9

That looks like it really aught to work... What doesn't work? I suspect your Curses functions aren't printing the colors to the TTY you selected?

If so, have a look at Term::ANSIColor instead. It's probably set up better for what you're trying to do.

-Paul