POD2-FR
view release on metacpan or search on metacpan
FR/perlfunc.pod view on Meta::CPAN
Un tableau nommé en contexte scalaire est assez différent de ce qui
apparaîtrait au premier coup d'oeil comme une liste dans un contexte
scalaire. Vous ne pouvez pas transformer une liste comme C<(1,2,3)> dans un
contexte scalaire, car le compilateur connaît le contexte à la compilation. Il
générerait ici l'opérateur scalaire virgule, et non pas la version
construction de liste de la virgule. Ce qui signifie que ça n'a jamais été
considéré comme une liste avec laquelle travailler.
En général, les fonctions en Perl qui encapsulent les appels système du même
nom (comme chown(2), fork(2), closedir(2), etc.) retournent toutes vrai quand
elles réussissent et C<undef> sinon, comme c'est souvent mentionné
ci-dessous. C'est différent des S<interfaces C> qui retournent C<-1> en cas
d'erreur. Les exceptions à cette règle sont C<wait>, C<waitpid()> et
C<syscall()>. Les appels système positionnent aussi la variable spéciale C<$!>
en cas d'erreur. Les autres fonctions ne le font pas, sauf de manière
accidentelle.
=head2 Fonctions Perl par catégories X<fonction>
Voici les fonctions Perl (y compris ce qui ressemble à des fonctions, comme
FR/perlfunc.pod view on Meta::CPAN
C<sysread>, C<sysseek>, C<syswrite>, C<tell>, C<telldir>, C<truncate>,
C<warn>, C<write>
=item Fonctions pour données de longueur fixe ou pour enregistrements
C<pack>, C<read>, C<syscall>, C<sysread>, C<syswrite>, C<unpack>, C<vec>
=item Fonctions de descripteurs de fichiers, de fichiers ou de répertoires
X<fichier> X<filehandle> X<descripteur de fichier> X<répertoire> X<tube> X<lien> X<lien symbolique>
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 Mots-clés liés au contrôle d'exécution de votre programme Perl
X<contrôle d'exécution>
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>
FR/perlfunc.pod view on Meta::CPAN
=back
=head2 Portabilité X<portabilité> X<Unix> X<portable>
Perl est né sur Unix et peut, par conséquent, accéder à tous les appels
systèmes Unix courants. Dans des environnements non-Unix, les fonctionnalités
de certains appels systèmes Unix peuvent manquer ou différer sur certains
détails. Les fonctions Perl affectées par cela S<sont :>
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>,
FR/perlfunc.pod view on Meta::CPAN
chop($answer = <STDIN>);
Si vous tronquez une liste, chaque élément est tronqué. Seul la valeur
du dernier C<chop()> est retournée.
Notez que C<chop()> retourne le dernier caractère. Pour retourner tout
sauf le dernier caractère, utilisez C<substr($string, 0, -1)>.
Voir aussi L</chomp>.
=item chown LISTE
X<chown> X<propriétaire> X<utilisateur> X<groupe>
Change le propriétaire (et le groupe) d'une liste de fichiers. Les
deux premiers éléments de la liste doivent être, dans l'ordre, les uid
et gid I<numériques>. Une valeur -1 à l'une de ces positions est
interprétée par la plupart des systèmes comme une valeur à ne pas
modifier. Retourne le nombre de fichiers modifiés avec succès.
$cnt = chown $uid, $gid, 'foo', 'bar';
chown $uid, $gid, @filenames;
Sur les systèmes qui connaissent fchown, vous pouvez utiliser des
descripteurs de fichier à la place des noms de fichier. Sur les
systèmes ne connaissant pas fchown, cela produira une erreur fatal
lors de l'exécution.
Voici un exemple qui cherche les uid non numériques dans le fichier de
mots de S<passe :>
print "User: ";
chop($user = <STDIN>);
print "Files: ";
chop($pattern = <STDIN>);
($login,$pass,$uid,$gid) = getpwnam($user)
or die "$user not in passwd file";
@ary = glob($pattern); # expansion des noms de fichiers
chown $uid, $gid, @ary;
Sur la plupart des systèmes, vous n'êtes pas autorisé à changer le
propriétaire d'un fichier à moins d'être le super-utilisateur, même si avez la
possibilité de changer un groupe en l'un de vos groupes secondaires. Sur les
systèmes non sécurisés, ces restrictions peuvent être moindres, mais ceci
n'est pas une hypothèse portable. Sur les systèmes POSIX, vous pouvez détecter
cette condition de la manière S<suivante :>
use POSIX qw(sysconf _PC_CHOWN_RESTRICTED);
$can_chown_giveaway = not sysconf(_PC_CHOWN_RESTRICTED);
=item chr NOMBRE
X<chr> X<caractère> X<ASCII> X<Unicode>
=item chr
Retourne le caractère représenté par ce NOMBRE dans le jeu de
caractères. Par exemple, C<chr(65)> est C<"A"> en ASCII ou Unicode et
chr(0x263a) est un visage réjoui en Unicode. Notez que les caractères
de 128 à 255 (inclu) ne sont pas par défaut encodés en UTF-8 Unicode
FR/perlport.pod view on Meta::CPAN
Son sens est limité. Désactiver/activer la permission en écriture est
remplacé par la désactivation/activation d'un verrou sur le fichier. (S<Mac OS>)
Ne peut modifier que les permission lecture/écriture pour le "propriétaire",
les droits du "groupe" et des "autres" n'ont pas de signification. (Win32)
Ne peut modifier que les permission lecture/écriture pour le "propriétaire",
et les "autres". (S<RISC OS>)
=item chown LIST
Non implémenté. (S<Mac OS>, Win32, Plan9, S<RISC OS>)
Ne fait rien, mais ne renvoie pas d'erreur. (Win32)
=item chroot FILENAME
=item chroot
Non implémenté. (S<Mac OS>, Win32, VMS, Plan9, S<RISC OS>)
FR/perlsub.pod view on Meta::CPAN
raison. Typiquement, cela pourrait être réalisé par un paquetage
essayant d'émuler une fonctionnalité prédéfinie manquante sur un
système non Unix.
La surcharge ne peut être réalisée qu'en important le nom depuis un
module lors de la compilation -- la prédéclaration ordinaire n'est pas
suffisante. Toutefois, le pragma C<use subs> vous laisse, dans les
faits, prédéclarer les sous-programmes via la syntaxe d'importation,
et ces noms peuvent ensuite surcharger ceux qui sont prédéfinisE<nbsp>:
use subs 'chdir', 'chroot', 'chmod', 'chown';
chdir $somewhere;
sub chdir { ... }
Pour se référer sans ambiguïté à la forme prédéfinie, on peut faire
précéder le nom prédéfini par le qualificateur de paquetage spéciale
C<CORE::>. Par exemple, le fait de dire C<CORE::open()> se réfère
toujours à la fonction prédéfinie C<open()>, même si le paquetage
courant a importé d'ailleurs un quelconque autre sous-programme appelé
C<&open()>. Même si cela a l'air d'un appel de fonction normal, ce
n'en est pas unE<nbsp>: vous ne pouvez pas en créer de référence, telle que
( run in 2.199 seconds using v1.01-cache-2.11-cpan-71847e10f99 )