POD2-IT
view release on metacpan or search on metacpan
IT/perlfunc.pod view on Meta::CPAN
Un array dotato di nome, in un contesto scalare E<egrave> piuttosto
differente da quella che a prima vista potrebbe apparire come una lista in un
contesto scalare. Non potete fare in modo che una lista come C<(1,2,3)>
si trovi in un contesto scalare, poichE<eacute> il compilatore conosce il
contesto al momento della compilazione. Genererebbe l'operatore scalare virgola,
non l'operatore virgola che costruisce una lista.
CiE<ograve> significa che quella non era una lista nemmeno in partenza.
In generale, le funzioni Perl che fungono da wrapper [involucro, interfaccia
tra un programma ed un altro, NdT] per le chiamate di sistema che hanno lo
stesso nome (come chown(2), fork(2), closedir(2), ecc.) restituiscono tutte
vero quando hanno successo e C<undef> in caso contrario, come viene solitamente
menzionato nelle descrizioni che seguono. CiE<ograve> differisce dall'interfaccia
C, che restituisce C<-1> in caso di fallimento. Le eccezioni a questa regola sono
C<wait>, C<waitpid> e C<syscall>. Le chiamate di sistema inoltre impostano la variabile
speciale C<$!> in caso di fallimento. Altre funzioni non lo fanno,
se non accidentalmente.
=head2 Elenco delle funzioni Perl per categoria
X<funzione>
IT/perlfunc.pod view on Meta::CPAN
C<sysread>, C<sysseek>, C<syswrite>, C<tell>, C<telldir>, C<truncate>,
C<warn>, C<write>
=item Funzioni per dati a lunghezza fissa o record
C<pack>, C<read>, C<syscall>, C<sysread>, C<syswrite>, C<unpack>, C<vec>
=item Funzioni per filehandle, file o directory
X<file> X<filehandle> X<directory> X<pipe> X<link> X<symlink>
C<-I<X>>, C<chdir>, C<chmod>, C<chown>, C<chroot>, C<fcntl>, C<glob>,
C<ioctl>, C<link>, C<lstat>, C<mkdir>, C<open>, C<opendir>,
C<readlink>, C<rename>, C<rmdir>, C<stat>, C<symlink>, C<sysopen>,
C<umask>, C<unlink>, C<utime>
=item Parole chiave relative al controllo di flusso del vostro programma Perl
X<controllo di flusso>
C<caller>, C<continue>, C<die>, C<do>, C<dump>, C<eval>, C<exit>,
C<goto>, C<last>, C<next>, C<redo>, C<return>, C<sub>, C<wantarray>
IT/perlfunc.pod view on Meta::CPAN
=head2 PortabilitE<agrave>
X<portabilita`> X<Unix> X<portabile>
Perl E<egrave> nato su Unix e dunque puE<ograve> accedere a tutte le normali
chiamate di sistema Unix. In ambienti non-Unix, le funzionalitE<agrave> di
alcune di queste chiamate potrebbe non essere disponibile, oppure i dettagli
potrebbero essere un po' diversi. Le funzioni Perl influenzate da questo aspetto
sono:
C<-X>, C<binmode>, C<chmod>, C<chown>, C<chroot>, C<crypt>,
C<dbmclose>, C<dbmopen>, C<dump>, C<endgrent>, C<endhostent>,
C<endnetent>, C<endprotoent>, C<endpwent>, C<endservent>, C<exec>,
C<fcntl>, C<flock>, C<fork>, C<getgrent>, C<getgrgid>, C<gethostbyname>,
C<gethostent>, C<getlogin>, C<getnetbyaddr>, C<getnetbyname>, C<getnetent>,
C<getppid>, C<getpgrp>, C<getpriority>, C<getprotobynumber>,
C<getprotoent>, C<getpwent>, C<getpwnam>, C<getpwuid>,
C<getservbyport>, C<getservent>, C<getsockopt>, C<glob>, C<ioctl>,
C<kill>, C<link>, C<lstat>, C<msgctl>, C<msgget>, C<msgrcv>,
C<msgsnd>, C<open>, C<pipe>, C<readlink>, C<rename>, C<select>, C<semctl>,
C<semget>, C<semop>, C<setgrent>, C<sethostent>, C<setnetent>,
IT/perlfunc.pod view on Meta::CPAN
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>
Cambia il proprietario (ed il gruppo) di una lista di file. I primi due elementi della lista
devono essere uid e gid I<numerici>, nell'ordine indicato. Un valore di -1 in una di queste due
posizioni viene interpretato dalla maggior parte dei sistemi operativi come volontE<agrave>
di non alterare tale valore. Restituisce il numero di file modificati con successo.
$cnt = chown $uid, $gid, 'pippo', 'pluto';
chown $uid, $gid, @nomifile;
Su sistemi che supportano fchown, 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.
Di seguito E<egrave> riportato un esempio che risolve le uid non numeriche servendosi del file
passwd:
print "Utente: ";
chomp($utente = <STDIN>);
print "File: ";
chomp($pattern = <STDIN>);
($login,$pass,$uid,$gid) = getpwnam($utente)
or die "$utente non e` presente nel file passwd";
@ary = glob($pattern); # espande i nomi dei file
chown $uid, $gid, @ary;
Sulla maggior parte dei sistemi, non E<egrave> consentito cambiare il proprietario dei file a
meno che non si sia superuser. Dovreste tuttavia essere in grado di cambiare il gruppo
impostandolo ad uno qualsiasi dei vostri gruppi secondari. Su sistemi non sicuri, queste
restrizioni potrebbero essere meno rigide, ma assumere una cosa del genere non E<egrave>
portabile. Sui sistemi POSIX, potete verificare questa condizione in questo modo:
use POSIX qw(sysconf _PC_CHOWN_RESTRICTED);
$chown_possibile = not sysconf(_PC_CHOWN_RESTRICTED);
=item chr NUMERO
X<chr> X<carattere> X<ASCII> X<Unicode>
=item chr
Restituisce il carattere rappresentato da NUMERO nell'insieme dei caratteri. Ad esempio, C<chr(65)>
E<egrave> C<"A"> sia in ASCII che in Unicode, e chr(0x263a) E<egrave> una faccina sorridente in
Unicode. Va notato che i caratteri da 127 a 255 (inclusi) di default non sono codificati in
Unicode per ragioni di compatibilitE<agrave> all'indietro (ma consultate L<encoding>).
IT/perlsub.pod view on Meta::CPAN
da un modulo che tenti di emulare una funzionalitE<agrave> nativa su un
sistema non-Unix.
La ridefinizione puE<ograve> essere effettuata solo importando il nome da un
modulo in fase di compilazione -- la pre-dichiarazione ordinaria
non E<egrave> sufficiente. In ogni caso, il pragma C<use subs> vi consente,
in effetti, di predichiarare le subroutine attraverso la sintassi
di importazione usuale, e questi nomi possono poi ridefinire
quelli nativi:
use subs 'chdir', 'chroot', 'chmod', 'chown';
chdir $daqualcheparte;
sub chdir { ... }
Per riferirsi senza ambiguitE<agrave> alla forma nativa, occorre precedere
il nome della funzione con il qualificatore di pacchetto speciale
C<CORE::>. Ad esempio, C<CORE::open()> si riferisce sempre alla
funzione nativa C<open()>, anche se il pacchetto corrente ha
importato qualche altra subroutine chiamata C<&open()> da qualche
altra parte. Anche se sembra una normale chiamata a funzione, non
lo E<egrave>: non potete prendervi un riferimento, come l'espressione
IT/perlunicode.pod view on Meta::CPAN
dal sistema operativo e dal file system. Ad esempio, il fatto che i
nomi di file possano essere Unicode, e in quale particolare codifica,
non E<egrave> un concetto proprio portabile. Allo stesso modo per
C<qx> e C<system>: come viene gestito Unicode dall'"interfaccia a riga
di comando"? (e di quale interfaccia si tratta?).
=over 4
=item *
C<chdir>, C<chmod>, C<chown>, C<chroot>, C<exec>, C<link>, C<lstat>,
C<mkdir>, C<rename>, C<rmdir>, C<stat>, C<symlink>, C<truncate>,
C<unlink>, C<utime>, C<-X>
=item *
C<%ENV>
=item *
C<glob> (ovvero C<< <*> >>)
( run in 1.993 second using v1.01-cache-2.11-cpan-5511b514fd6 )