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 )