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
when 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.[*]
[*] 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