Подтвердить что ты не робот

Как установить права доступа к файлам на Perl?

Я пишу Perl script, который генерирует Bash script. Я использую open() с режимом >, чтобы вывести все в новый файл. Стандартный материал:

open (FILEOUT, ">", "rename.sh") or die "Can't create rename.sh";

Результирующий файл .sh доступен только для чтения, с восьмеричным значением 444. В perldoc говорится, что я могу добавить + в > (open (FILEOUT, "+>", "rename.sh")), чтобы сделать вновь созданный файл доступным и доступным для записи, или 666.

Есть ли способ сделать новый исполняемый файл (755 или что-то еще) с помощью open()? Если нет, то какой способ установить права доступа к файлу для нового файла?

4b9b3361

Ответ 1

Вы захотите chmod файл, подобный этому.

chmod 0755, $filename;
#or
chmod 0755, $fh;

В качестве альтернативы, если вы используете sysopen и установите umask, вы можете обойтись без chmod.

Ответ 2

Ввод + infront из < или > позволяет вам открыть файл в режиме чтения и записи.

В этом случае вы можете chmod вновь созданный файл.