2015-08-14 3 views
0

я создаю файл с кодом ниже:Изменение прав доступа к файлам в Perl

open DINFO, ">>","Mylocation/$NAME/domain_info.txt" or dir $!; 
print DINFO "$_[0]:$_[1]:$_[2]\n"; 
close DINFO; 

Я хочу «domain_info.txt» файл должен быть создан с разрешением файла 644. Как я могу перенаправить разрешение в самом коде. Пожалуйста помоги.

+1

В следующий раз, вы должны попытаться найти документацию так. – ikegami

+0

«docs или SO», я имел в виду. – ikegami

ответ

1

Проверить umask от perldoc

Umask Устанавливает биты полномочий для процесса Expr и возвращает предыдущее значение. Если EXPR опущен, он просто возвращает текущий umask.

# newly created files will have 644 permissions 
my $old_umask = umask(0777-0644); 
# open my $fh, ">>", .. 

# set back old umask 
umask($old_umask); 
+1

Интересно ... Согласно отметкам времени, это было опубликовано после того, как вопрос был закрыт! – ikegami

+0

Обратите внимание, что предполагается, что файл еще не существует, что редко бывает с '>>'. – ikegami

+0

@ikegami 'Я создаю файл с кодом ниже:' <== –