| Search perlmeme.org | |
| Home » Faqs » System » Chmod |
From perl you want to set the permissions on a file or directory.
There is a perl function called chmod. It can be called on files or directories. You can use it as follows:
#!/usr/bin/perl
use strict;
use warnings;
#
# Chmod a file
#
my $filename = "test.txt";
chmod 0600, $filename or die "Couldn't chmod $filename: $!";
#
# Chmod an existing directory
#
my $dir = "testchmod";
chmod(0660, $dir) or die "Couldn't chmod $dir: $!";
exit 0;
You can also use chmod on a list of files. Chmod returns the number of files that were modified, so you can tell if all the chmods were successful.
#!/usr/bin/perl
use strict;
use warnings;
#
# Chmod a file
#
my @files = ("test.txt", "test2,txt", "test3.txt");
my $res = chmod 0600, @files;
print "Modified $res files\n";
die $! if ($!);
exit 0;
If two of the three files existed, the output of this program would be:
Modified 2 files
No such file or directory at ./test.pl line 12.
perldoc -f chmod