Modifying Permissions
The Unix chmod
command changes the permissions on a file or directory. Similarly, Perl has the chmod function to perform this task:
chmod 0755, "fred", "barney";
As with many of the operating system interface functions, chmod returns the number of items successfully altered and, when used with a single argument, sets $! in a sensible way for error messages when it fails. The first parameter is the Unix permission value (even for non-Unix versions of Perl). For the same reasons we presented earlier in describing mkdir, this value is usually specified in octal.
Symbolic permissions (like +x or go=u-w) accepted by the Unix chmod command are not valid for the chmod function.[294]
[294] Unless you’ve installed and invoked the File::chmod module from CPAN, which can apparently upgrade the chmod operator to understand symbolic mode values.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access