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.[296]
[296]Unless you've installed and invoke the File::chmod module from CPAN, which can apparently upgrade the chmod operator to understand symbolic mode values.
Copyright © 2002 O'Reilly & Associates. All rights reserved.