POD2-IT
view release on metacpan or search on metacpan
IT/perlfunc.pod view on Meta::CPAN
=item chdir DIRHANDLE
=item chdir
Cambia la directory corrente facendola diventare ESPR, se possibile. Se ESPR viene
omessa, cambia la directory corrente in quella specificata in C<$ENV{HOME}>, se
impostata; altrimenti, cambia la directory corrente in quella specificata in
C<$ENV{LOGDIR}>. (Sotto VMS, viene controllata anche la variabile C<$ENV{SYS$LOGIN}>).
Se nessuna di queste variabili E<egrave> impostata, C<chdir> non ha alcun effetto.
Restituisce vero in caso di successo, falso negli altri casi. Consultate l'esempio in
C<die>.
Su sistemi che supportano fchdir, potreste passare come argomenti un file handle oppure
un directory handle. Su sistemi che non supportano fchdir, passare gli handle
produce un errore fatale a tempo di esecuzione.
=item chmod LISTA
X<chmod> X<permesso> X<modalita`>
Cambia i permessi di una lista di file. Il primo elemento della lista deve essere la
modalitE<agrave> numerica, che deve probabilmente essere un numero ottale, e che
sicuramente I<non> deve essere una stringa di cifre ottali: C<0644> va bene, C<'0644'> no.
Restituisce il numero di file modificati con successo. Consultate anche L</oct>, se tutto
ciE<ograve> che avete a disposizione E<egrave> 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 C<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.
=item chomp VARIABILE
X<chomp> X<INPUT_RECORD_SEPARATOR> X<$/> X<ritorno a capo> X<eol>
=item chomp( LISTA )
=item chomp
Questa versione piE<ugrave> intelligente di L</chop> rimuove dalla coda della
stringa passata come parametro qualsiasi stringa che corrisponda al valore
corrente di C<$/> (conosciuta anche come $INPUT_RECORD_SEPARATOR [record separatore di input, NdT]
nel modulo C<English>). La funzione restituisce il numero totale di caratteri rimossi da
tutti i suoi argomenti. E<Egrave> spesso utilizzato per rimuovere il newline dalla fine di un
record in input, quando temete che il record possa essere sprovvisto del suo newline. Quando
E<egrave> utilizzata in paragraph mode [modalitE<agrave> paragrafo, NdT] (C<$/ = "">), rimuove
tutti i newline in coda ad una stringa. Quando E<egrave> utilizzata in slurp mode
[modalitE<agrave> slurp, NdT] (C<$/ = undef>) o con una lunghezza di record fissa (C<$/>
E<egrave> un riferimento ad un intero o a qualcosa di simile, consultate L<perlvar>), chomp()
non rimuoverE<agrave> nulla. Se VARIABILE viene omessa, chomp agisce su C<$_>. Ad esempio:
while (<>) {
chomp; # rimuove \n dall'ultimo campo
@array = split(/:/);
# ...
}
Se VARIABILE E<egrave> un hash, chomp() agisce sui valori dell'hash, ma non sulle sue chiavi.
Potete utilizzare chomp su qualsiasi cosa che sia un lvalue [valore a sinistra di
un'espressione, NdT], incluso un assegnamento:
chomp($cwd = `pwd`);
chomp($risposta = <STDIN>);
Se usate chomp() su una lista, viene effettuato il chomp di ogni elemento, e viene restituito il
numero totale di caratteri rimossi.
Se la direttiva C<encoding> E<egrave> nello scope, allora
le lunghezze che vengono restituite sono calcolate a partire dalla lunghezza di C<$/> in
caratteri Unicode che non E<egrave> sempre la stessa cosa della lunghezza di C<$/> nella
codifica nativa.
Va notato che le parentesi sono necessarie quando usate chomp() su qualsiasi cosa che non sia una
variabile semplice. CiE<ograve> deriva dal fatto che C<chomp $cwd = `pwd`;> E<egrave>
interpretato come C<(chomp $cwd) = `pwd`;>, anzichE<eacute> come C<chomp( $cwd = `pwd` )>, come
vi potreste aspettare. Similmente, C<chomp $a, $b> E<egrave> interpretato come C<chomp($a), $b>
anzichE<eacute> come C<chomp($a, $b)>.
=item chop VARIABILE
X<chop>
=item chop( LISTA )
=item chop
Taglia via l'ultimo carattere di una stringa e restituisce il carattere
tagliato. E<Egrave> molto piE<ugrave> efficiente di C<s/.$//s> perchE<eacute>
non scandisce nE<eacute> copia la stringa. Se VARIABILE viene omessa,
taglia C<$_>. Se VARIABILE E<egrave> un hash, taglia i valori
dell'hash, ma non le sue chiavi.
Potete utilizzare chop su qualsiasi cosa che sia un lvalue [valore a sinistra di
un'espressione, NdT], incluso un assegnamento.
Chiamando chop su una lista, ogni elemento viene tagliato. Viene
restituito solo il valore dell'ultimo C<chop> effettuato.
Va notato che C<chop> restituisce l'ultimo carattere. Per ottenere tutto
tranne l'ultimo carattere, utilizzate C<substr($stringa, 0, -1)>.
Si veda anche L</chomp>.
=item chown LISTA
X<chown> X<owner> X<user> X<group>
( run in 0.853 second using v1.01-cache-2.11-cpan-b301d465b3d )