in reply to can you assign file handles?

It's invalid, because the <FILEHANDLE> construct reads a line from the filehandle. It doesn't refer to a filehandle in general.

If you want to copy a filehandle, you can simply say *OUT = *STDOUT.

You can also use the dup-version of open to get a new file descriptor to the same file. That's probably not what you want.

If you're doing what I think you're doing, use select to select OUT for output, then print as normal.