При помощи различных дескрипторов файлов.
По умолчанию у Вас будут оба STDOUT
и STDERR
. print
функция в Perl является действительно стенографией для print STDOUT
.
В Вашем терминале STDOUT
дан дескриптор файла 1
и STDERR
дан дескриптор файла 2
.
Вот пример печати к каждому дескриптору файла и перенаправления каждого к/dev/null.
$ perl -e 'print STDOUT "foo\n"; print STDERR "bar\n";'
foo
bar
$ perl -e 'print STDOUT "foo\n"; print STDERR "bar\n";' 1> /dev/null
bar
% perl -e 'print STDOUT "foo\n"; print STDERR "bar\n";' 2> /dev/null
foo
STDOUT
и печать только STDERR
STDERR
и печать только STDOUT
Можно также объявить собственные дескрипторы файлов (например, файл журнала) и распечатать к этому вместо этого. Посмотрите perldoc -f open
.
Принятие их варится домом RPMs, переписывает Ваш spec
файлы для установки исполняемых файлов под имеющим версию именем, говорят test-1.2
и test-2.1
, и используйте update-alternatives(8)
система для конфигурирования одного из них для использования в масштабе всей системы.
Это - политика, сопровождаемая RHEL для java
исполняемые файлы, например.