# chmod - change file mode bits - perldoc - [phpMan]

    chmod LIST
            Changes the permissions of a list of files. The first element of
            the list must be the numeric mode, which should probably be an
            octal number, and which definitely should *not* be a string of
            octal digits: 0644 is okay, but "0644" is not. Returns the
            number of files successfully changed. See also "oct" if all you
            have is a string.

                my $cnt = chmod 0755, "foo", "bar";
                chmod 0755, @executables;
                my $mode = "0644"; chmod $mode, "foo";      # !!! sets mode to
                                                            # --w----r-T
                my $mode = "0644"; chmod oct($mode), "foo"; # this is better
                my $mode = 0644;   chmod $mode, "foo";      # this is best

            On systems that support [fchmod(2)](https://www.chedong.com/phpMan.php/man/fchmod/2/markdown), you may pass filehandles
            among the files. On systems that don't support [fchmod(2)](https://www.chedong.com/phpMan.php/man/fchmod/2/markdown),
            passing filehandles raises an exception. Filehandles must be
            passed as globs or glob references to be recognized; 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.

