chmod LISTA
Cambia i permessi di una lista di file. Il primo elemento della lista deve essere la
modalità numerica, che deve probabilmente essere un numero ottale, e che
sicuramente non deve essere una stringa di cifre ottali: 0644 va bene, '0644' no.
Restituisce il numero di file modificati con successo. Consultate anche oct, se tutto
ciò che avete a disposizione è una stringa.
$cnt = chmod 0755, 'pippo', 'pluto';
chmod 0755, @eseguibili;
$modalita = '0644'; chmod $modalita, 'pippo'; # !!! imposta la modalita` a
# --w----r-T
$modalita = '0644'; chmod oct($modalita), 'pippo'; # questo e` meglio
$modalita = 0644; chmod $modalita, 'pippo'; # questo e` il migliore
Su sistemi che supportano fchmod, potreste passare i file handle tra i file.
Su sistemi che non supportano fchmod, passare file handle
produce un errore fatale a tempo di esecuzione.
open(my $fh, "<", "pippo");
my $perm = (stat $fh)[2] & 07777;
chmod($perm | 0600, $fh);
Potete anche importare le costanti simboliche S_I* dal modulo Fcntl:
use Fcntl ':mode';
chmod S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH, @eseguibili;
# Questo e` identico al chmod 0755 dell'esempio sopra.