如何从Perl设置文件权限?

时间:2010-02-22 12:39:59

标签: perl

我正在编写一个生成Bash脚本的Perl脚本。我正在使用open()模式>将所有内容输出到新文件。标准的东西:

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

结果.sh文件是只读的,八进制值为444.在perldoc中,它表示我可以向+>)添加open (FILEOUT, "+>", "rename.sh")使新创建的文件可读写,或666。

有没有办法使用open()使新文件可执行(755或其他任何内容)?如果没有,为新文件设置文件权限的最佳方法是什么?

2 个答案:

答案 0 :(得分:18)

您需要chmod这样的文件。

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

或者,如果您使用sysopen并正确设置umask,则可以不使用chmod。

答案 1 :(得分:1)

+放在<>的前面,可以让您以读写模式打开文件。

在您的情况下,您可以chmod新创建的文件。