Открыть дескриптор файла или назначить stdout

Я работаю в программе, в которой пользователь может передать параметр -o file , и вывод должен быть направлен в этот файл. В противном случае он должен перейти к stdout.

Чтобы получить параметр, я использую модуль getopt long, и это не проблема. Проблема в том, что я хочу создать дескриптор файла с этим файлом или назначить ему stdout, если опция не была установлена.

if ($opt) {
    open OUTPUT, ">", $file;
} else {
    open OUTPUT, # ???
}

Это потому, что таким образом позже в моем коде я могу просто:

print OUTPUT "...";

Не беспокоясь о том, является ли ВЫХОД стандартным выводом или файлом, указанным пользователем. Это возможно? Если у меня здесь плохой дизайн, дайте мне знать.

6
задан cmre 14 August 2011 в 19:21
поделиться