pourriez-vous me dire quelle est la différence profonde entre open() et
sysopen(), à part la syntaxe? Est-ce que l'utilisation de sysopen pour lire un
fichier en mode lecture, écriture ou les deux peut être considérée comme une
interaction avec le matériel?
Merci de vos réponses,
amicalement,
P.C.
--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Scetbon Cyril
sysopen permet de faire des tests sur l'existence du fichier. Par exemple, pour créer écrire dans un fichier en s'assurant qu'il n'existe pas tu peux utiliser la syntaxe suivante:
sysopen OUT,$path,O_WRONLY | O_EXCL | O_CREAT || die $!;
si tu utilises la fonction open il faudra que tu le vérifies par toi même de la manière suivante: if(! -e $path) { open OUT,'>'.$path || die "$!"; } else { die "File exists"; }
On 28 Jul 2003 09:29:56 GMT, P.C wrote:
Bonjour,
pourriez-vous me dire quelle est la différence profonde entre open() et sysopen(), à part la syntaxe? Est-ce que l'utilisation de sysopen pour lire un fichier en mode lecture, écriture ou les deux peut être considérée comme une interaction avec le matériel?
Merci de vos réponses,
amicalement,
P.C.
-- SCETBON Cyril
sysopen permet de faire des tests sur l'existence du fichier.
Par exemple, pour créer écrire dans un fichier en s'assurant qu'il
n'existe pas tu peux utiliser la syntaxe suivante:
sysopen OUT,$path,O_WRONLY | O_EXCL | O_CREAT || die $!;
si tu utilises la fonction open il faudra que tu le vérifies par toi
même de la manière suivante:
if(! -e $path)
{
open OUT,'>'.$path || die "$!";
}
else
{
die "File exists";
}
On 28 Jul 2003 09:29:56 GMT, P.C <p.chevee@merci-de-ne-pas-spammer.fr> wrote:
Bonjour,
pourriez-vous me dire quelle est la différence profonde entre open() et
sysopen(), à part la syntaxe? Est-ce que l'utilisation de sysopen pour lire un
fichier en mode lecture, écriture ou les deux peut être considérée comme une
interaction avec le matériel?
sysopen permet de faire des tests sur l'existence du fichier. Par exemple, pour créer écrire dans un fichier en s'assurant qu'il n'existe pas tu peux utiliser la syntaxe suivante:
sysopen OUT,$path,O_WRONLY | O_EXCL | O_CREAT || die $!;
si tu utilises la fonction open il faudra que tu le vérifies par toi même de la manière suivante: if(! -e $path) { open OUT,'>'.$path || die "$!"; } else { die "File exists"; }
On 28 Jul 2003 09:29:56 GMT, P.C wrote:
Bonjour,
pourriez-vous me dire quelle est la différence profonde entre open() et sysopen(), à part la syntaxe? Est-ce que l'utilisation de sysopen pour lire un fichier en mode lecture, écriture ou les deux peut être considérée comme une interaction avec le matériel?
Merci de vos réponses,
amicalement,
P.C.
-- SCETBON Cyril
Ronan Le Hy
P.C. a écrit:
pourriez-vous me dire quelle est la différence profonde entre open() et sysopen(), à part la syntaxe?
open() fait plein de choses en plus, qui sont décrites dans le joli manuel. D'ailleurs, celui-ci ajoute:
"If you want a "real" C "open" (see open(2) on your system), then you should use the "sysopen" function, which involves no such magic (but may use subtly different filemodes than Perl open(), which is mapped to C fopen())." (perldoc -f open)
et:
"If you want the convenience of the shell, then Perl's "open" is definitely the way to go. On the other hand, if you want finer precision than C's simplistic fopen(3S) provides, then you should look to Perl's "sysopen", which is a direct hook into the open(2) system call." (perldoc perlopentut)
traduction chez Paul: www.enstimac.fr/Perl/
-- Ronan
P.C. a écrit:
pourriez-vous me dire quelle est la différence profonde entre open() et
sysopen(), à part la syntaxe?
open() fait plein de choses en plus, qui sont décrites dans le joli
manuel. D'ailleurs, celui-ci ajoute:
"If you want a "real" C "open" (see open(2) on your system), then you
should use the "sysopen" function, which involves no such magic (but may
use subtly different filemodes than Perl open(), which is mapped to C
fopen())."
(perldoc -f open)
et:
"If you want the convenience of the shell, then Perl's "open" is
definitely the way to go. On the other hand, if you want finer
precision than C's simplistic fopen(3S) provides, then you should look
to Perl's "sysopen", which is a direct hook into the open(2) system call."
(perldoc perlopentut)
pourriez-vous me dire quelle est la différence profonde entre open() et sysopen(), à part la syntaxe?
open() fait plein de choses en plus, qui sont décrites dans le joli manuel. D'ailleurs, celui-ci ajoute:
"If you want a "real" C "open" (see open(2) on your system), then you should use the "sysopen" function, which involves no such magic (but may use subtly different filemodes than Perl open(), which is mapped to C fopen())." (perldoc -f open)
et:
"If you want the convenience of the shell, then Perl's "open" is definitely the way to go. On the other hand, if you want finer precision than C's simplistic fopen(3S) provides, then you should look to Perl's "sysopen", which is a direct hook into the open(2) system call." (perldoc perlopentut)
traduction chez Paul: www.enstimac.fr/Perl/
-- Ronan
root
On Mon, 28 Jul 2003 09:29:56 +0000, P. wrote:
Bonjour,
pourriez-vous me dire quelle est la différence profonde entre open() et sysopen(), à part la syntaxe? Est-ce que l'utilisation de sysopen pour lire un fichier en mode lecture, écriture ou les deux peut être considérée comme une interaction avec le matériel?
Merci de vos réponses,
amicalement,
Le sysopen() est en quelque sorte un simple "wrapper" pour le open() de la libc.
Alors que le open() (de Perl) est de plus haut niveau avec par exemple la prise en compte de PerlIO pour par exemple convertir le jeux de caractère d'un fichier a la lecture ou l'écriture de manière transparente ...
On Mon, 28 Jul 2003 09:29:56 +0000, P. wrote:
Bonjour,
pourriez-vous me dire quelle est la différence profonde entre open() et
sysopen(), à part la syntaxe? Est-ce que l'utilisation de sysopen pour lire un
fichier en mode lecture, écriture ou les deux peut être considérée comme une
interaction avec le matériel?
Merci de vos réponses,
amicalement,
Le sysopen() est en quelque sorte un simple "wrapper" pour le open() de la
libc.
Alors que le open() (de Perl) est de plus haut niveau avec par exemple la
prise en compte de PerlIO pour par exemple convertir le jeux de caractère
d'un fichier a la lecture ou l'écriture de manière transparente ...
pourriez-vous me dire quelle est la différence profonde entre open() et sysopen(), à part la syntaxe? Est-ce que l'utilisation de sysopen pour lire un fichier en mode lecture, écriture ou les deux peut être considérée comme une interaction avec le matériel?
Merci de vos réponses,
amicalement,
Le sysopen() est en quelque sorte un simple "wrapper" pour le open() de la libc.
Alors que le open() (de Perl) est de plus haut niveau avec par exemple la prise en compte de PerlIO pour par exemple convertir le jeux de caractère d'un fichier a la lecture ou l'écriture de manière transparente ...