Я не могу сказать вам, почему ваша команда не сработала, потому что вы не дали достаточно подробностей, но в этом случае нет необходимости использовать system
, поскольку в Perl встроен chmod
, и он ведет себя точно так же.
use strict;
use warnings;
my $dir = "/some/dir";
chmod 0777, $dir or die "$!";
Это также даст вам правильное сообщение об ошибке, если команда не удалась.
Вы также можете сделать список каталогов и файлов.
use strict;
use warnings;
my @dirs = ("dir1", "dir2");
my $each = chmod 0777, @dirs;
print "$each modified\n";
die $! if ($!);