| Functions for filehandles, files, or directoriesChanges the permissions on a list of filesDaftar Isi - chmod LIST
Changes the permissions of a list of files. The first element of thelist must be the numeric mode, which should probably be an octalnumber, and which definitely should not be a string of octal digits:0644 is okay, but "0644" is not. Returns the number of filessuccessfully changed. See also oct if all you have is a string. - $cnt = chmod 0755, "foo", "bar";
- chmod 0755, @executables;
- $mode = "0644"; chmod $mode, "foo"; # !!! sets mode to
- # --w----r-T
- $mode = "0644"; chmod oct($mode), "foo"; # this is better
- $mode = 0644; chmod $mode, "foo"; # this is best
On systems that support fchmod(2), you may pass filehandles among thefiles. On systems that don't support fchmod(2), passing filehandles raisesan exception. Filehandles must be passed as globs or glob references to berecognized; barewords are considered filenames. - open(my $fh, "<", "foo");
- my $perm = (stat $fh)[2] & 07777;
- chmod($perm | 0600, $fh);
You can also import the symbolic S_I* constants from the Fcntl module: - use Fcntl qw( :mode );
- chmod S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH, @executables;
- # Identical to the chmod 0755 of the example above.
Portability issues: chmod in perlport. |
| |
|