Товарищи, есть ли для perl какая-либо штатная, либо XS-ная реализация open, которая возвращает значением собственно файловый дескриптор?
Просто странно, что это одна из самых косячных функций штатного рантайма, возвращающих результат через переданный её параметр - и неужели никто её не заменил на что-то более адекватное?
Понятно, что перловой функцией делается в три буквы:
my %modeName2modeCryptoSymbols=(
'read' => '<',
'write' => '>',
'append' => '>>',
'edit' => '+<'
...
);
sub fopen ($$) { open my $fh, $modeName2modeCryptoSymbols{$_[1]}, $_[0]; $fh }
Но нет ли сишной готовой реализации? Просто встроенный оператор open в традиционном перловом виде - это какое-то «привет BASIC'у образца 80-х», потому что современный BASIC уже давно так не делает...