Цитировать perlopentut :
Если вы хотите удобство оболочки, то открытое в Perl, безусловно, путь.С другой стороны, если вам нужна более высокая точность, чем в упрощенном fopen C (3S), вам следует обратиться к sysopen Perl, который является прямым подключением к системному вызову open (2).Это означает, что это немного сложнее, но это цена точности.
Поскольку Perl написан на C, оба метода, вероятно, в конечном итоге совершат системный вызов open(2)
.Разница в том, что open()
в Perl имеет некоторые тонкости, которые делают открытие , трубопровод и перенаправление очень очень просто.В то же время, open()
отнимает некоторую гибкость.Он не обладает ни одной из функций Fcntl
, доступных в sysopen()
, а также не имеет функции маскирования.
В большинстве ситуаций просто требуется open()
.