OVH Cloud OVH Cloud

Open() Mode lecture-écriture

6 réponses
Avatar
midtownmadnes52
Bonjour,
Avec la fonction Open() existe t'il un mode lecture-=E9criture? pour
=E9viter de l'ouvrir 2 fois, une fois en lecture et la segonde en
=E9criture. Merci

6 réponses

Avatar
damien guerin
open (DESC, "+>nom");
Avatar
midtownmadnes52
Merci c'est bien gentil, cela fonction a merveille:)
Avatar
Nicolas George
"damien guerin" wrote in message
:
open (DESC, "+>nom");


Donnons tout de suite les bonnes habitudes :

open my $desc, ">+", "nom" or die "nom: $!n";

(trois bonnes habitudes : (1) utiliser un scalaire autovivifié plutôt qu'un
filehandle, (2) utiliser la forme à trois arguments d'open, (3) vérifier les
retours d'erreur)

Avatar
TiChou
Dans le message <news:d8k3q1$kel$,
*Nicolas George* tapota sur f.c.l.perl :

open (DESC, "+>nom");


Donnons tout de suite les bonnes habitudes :

open my $desc, ">+", "nom" or die "nom: $!n";

(trois bonnes habitudes : (1) utiliser un scalaire autovivifié plutôt
qu'un filehandle,


Pourquoi ?

--
TiChou


Avatar
Nicolas George
"TiChou" wrote in message :
(trois bonnes habitudes : (1) utiliser un scalaire autovivifié plutôt
qu'un filehandle,
Pourquoi ?



Deux raisons :

- Ça a une portée lexicale, ce qui est bien plus propre pour des projet de
grande envergure -- et ne complique pas franchement les choses pour un
projet minuscule.

- C'est un objet qui a la citoyenneté de première classe, et peut donc être
stocké dans un tableau ou un hash, passé en argument à une fonction, etc.

En outre, la portée lexicale fait que le filehandle se retrouve soumis au
(pseudo-)garbage-collector, ce qui évite souvent l'usage de close, tout en
réduisant les risques d'une fuite de descripteurs de fichiers.


Avatar
TiChou
Dans le message <news:d8k9sj$n75$,
*Nicolas George* tapota sur f.c.l.perl :

(trois bonnes habitudes : (1) utiliser un scalaire autovivifié plutôt
qu'un filehandle,
Pourquoi ?



Deux raisons :

- Ça a une portée lexicale, ce qui est bien plus propre pour des projet de
grande envergure -- et ne complique pas franchement les choses pour un
projet minuscule.

- C'est un objet qui a la citoyenneté de première classe, et peut donc
êtrestocké dans un tableau ou un hash, passé en argument à une fonction,
etc.

En outre, la portée lexicale fait que le filehandle se retrouve soumis au
(pseudo-)garbage-collector, ce qui évite souvent l'usage de close, tout en
réduisant les risques d'une fuite de descripteurs de fichiers.


Je te remercie pour ces explications, je sais maintenant ce qui me reste à
faire. :)

--
TiChou