Comment faire la synchronisation des fichiers que lors du close?
4 réponses
saf
Je me suis demandé si Perl écrit directement sur un fichier avec la
commande:
print FILEHANDLE "toto42";
ou
print FILEHANDLE "toto42\n";
Est-il possible de lancer Perl avec une option ou de mettre un flag dans
son script en place pour que Perl ecrit tout ce qui a été passé à
"print FILEHANDLE" seulement lorsqu'on appelle la commande
"close(FILEHANDLE);"?
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
Nicolas George
saf wrote in message <der2vr$q5o$:
Je me suis demandé si Perl écrit directement sur un fichier avec la commande: print FILEHANDLE "toto42"; ou print FILEHANDLE "toto42n";
Ni l'un ni l'autre, sauf si FILEHANDLE désigne un terminal, auquel cas le deuxième flushe effectivement.
Est-il possible de lancer Perl avec une option ou de mettre un flag dans son script en place pour que Perl ecrit tout ce qui a été passé à "print FILEHANDLE" seulement lorsqu'on appelle la commande "close(FILEHANDLE);"?
Pas à ma connaissance, mais c'est assez facile à faire manuellement :
$filehandle .= $foo;
au lieu de
print FILEHANDLE $foo
et on finit par
print FILEHANDLE $filehandle;
saf wrote in message <der2vr$q5o$1@biggoron.nerim.net>:
Je me suis demandé si Perl écrit directement sur un fichier avec la
commande:
print FILEHANDLE "toto42";
ou
print FILEHANDLE "toto42n";
Ni l'un ni l'autre, sauf si FILEHANDLE désigne un terminal, auquel cas le
deuxième flushe effectivement.
Est-il possible de lancer Perl avec une option ou de mettre un flag dans
son script en place pour que Perl ecrit tout ce qui a été passé à
"print FILEHANDLE" seulement lorsqu'on appelle la commande
"close(FILEHANDLE);"?
Pas à ma connaissance, mais c'est assez facile à faire manuellement :
Je me suis demandé si Perl écrit directement sur un fichier avec la commande: print FILEHANDLE "toto42"; ou print FILEHANDLE "toto42n";
Ni l'un ni l'autre, sauf si FILEHANDLE désigne un terminal, auquel cas le deuxième flushe effectivement.
Est-il possible de lancer Perl avec une option ou de mettre un flag dans son script en place pour que Perl ecrit tout ce qui a été passé à "print FILEHANDLE" seulement lorsqu'on appelle la commande "close(FILEHANDLE);"?
Pas à ma connaissance, mais c'est assez facile à faire manuellement :
$filehandle .= $foo;
au lieu de
print FILEHANDLE $foo
et on finit par
print FILEHANDLE $filehandle;
saf
Nicolas George wrote:
saf wrote in message <der2vr$q5o$:
Je me suis demandé si Perl écrit directement sur un fichier avec la commande: print FILEHANDLE "toto42"; ou print FILEHANDLE "toto42n";
Ni l'un ni l'autre, sauf si FILEHANDLE désigne un terminal, auquel cas le deuxième flushe effectivement.
Est-il possible de lancer Perl avec une option ou de mettre un flag dans son script en place pour que Perl ecrit tout ce qui a été passé à "print FILEHANDLE" seulement lorsqu'on appelle la commande "close(FILEHANDLE);"?
Pas à ma connaissance, mais c'est assez facile à faire manuellement :
$filehandle .= $foo;
au lieu de
print FILEHANDLE $foo
et on finit par
print FILEHANDLE $filehandle;
C'est ce que je voulais aussi faire, mais ca demande de changer pas mal de scripts Perl! :-(
-- saf
Nicolas George wrote:
saf wrote in message <der2vr$q5o$1@biggoron.nerim.net>:
Je me suis demandé si Perl écrit directement sur un fichier avec la
commande:
print FILEHANDLE "toto42";
ou
print FILEHANDLE "toto42n";
Ni l'un ni l'autre, sauf si FILEHANDLE désigne un terminal, auquel cas le
deuxième flushe effectivement.
Est-il possible de lancer Perl avec une option ou de mettre un flag dans
son script en place pour que Perl ecrit tout ce qui a été passé à
"print FILEHANDLE" seulement lorsqu'on appelle la commande
"close(FILEHANDLE);"?
Pas à ma connaissance, mais c'est assez facile à faire manuellement :
$filehandle .= $foo;
au lieu de
print FILEHANDLE $foo
et on finit par
print FILEHANDLE $filehandle;
C'est ce que je voulais aussi faire, mais ca demande de changer pas mal
de scripts Perl! :-(
Je me suis demandé si Perl écrit directement sur un fichier avec la commande: print FILEHANDLE "toto42"; ou print FILEHANDLE "toto42n";
Ni l'un ni l'autre, sauf si FILEHANDLE désigne un terminal, auquel cas le deuxième flushe effectivement.
Est-il possible de lancer Perl avec une option ou de mettre un flag dans son script en place pour que Perl ecrit tout ce qui a été passé à "print FILEHANDLE" seulement lorsqu'on appelle la commande "close(FILEHANDLE);"?
Pas à ma connaissance, mais c'est assez facile à faire manuellement :
$filehandle .= $foo;
au lieu de
print FILEHANDLE $foo
et on finit par
print FILEHANDLE $filehandle;
C'est ce que je voulais aussi faire, mais ca demande de changer pas mal de scripts Perl! :-(
-- saf
Jacques Caron
Salut,
On Sun, 28 Aug 2005 03:12:20 +0200, saf wrote:
Je me suis demandé si Perl écrit directement sur un fichier avec la commande: print FILEHANDLE "toto42"; ou print FILEHANDLE "toto42n";
Est-il possible de lancer Perl avec une option ou de mettre un flag dans son script en place pour que Perl ecrit tout ce qui a été passé à "print FILEHANDLE" seulement lorsqu'on appelle la commande "close(FILEHANDLE);"?
perldoc IO::Handle, voir du côté de setbuf, ça devrait faire ce que tu veux (en restant sage).
Sinon il y a des méthodes plus tordues avec un peu d'overloading sur print et close, je suppose...
Jacques.
Salut,
On Sun, 28 Aug 2005 03:12:20 +0200, saf <saf@nerim.net> wrote:
Je me suis demandé si Perl écrit directement sur un fichier avec la
commande:
print FILEHANDLE "toto42";
ou
print FILEHANDLE "toto42n";
Est-il possible de lancer Perl avec une option ou de mettre un flag dans
son script en place pour que Perl ecrit tout ce qui a été passé à
"print FILEHANDLE" seulement lorsqu'on appelle la commande
"close(FILEHANDLE);"?
perldoc IO::Handle, voir du côté de setbuf, ça devrait faire ce que tu
veux (en restant sage).
Sinon il y a des méthodes plus tordues avec un peu d'overloading sur print
et close, je suppose...
Je me suis demandé si Perl écrit directement sur un fichier avec la commande: print FILEHANDLE "toto42"; ou print FILEHANDLE "toto42n";
Est-il possible de lancer Perl avec une option ou de mettre un flag dans son script en place pour que Perl ecrit tout ce qui a été passé à "print FILEHANDLE" seulement lorsqu'on appelle la commande "close(FILEHANDLE);"?
perldoc IO::Handle, voir du côté de setbuf, ça devrait faire ce que tu veux (en restant sage).
Sinon il y a des méthodes plus tordues avec un peu d'overloading sur print et close, je suppose...
Jacques.
Jacques Caron
Salut,
On Sun, 28 Aug 2005 03:12:20 +0200, saf wrote:
Je me suis demandé si Perl écrit directement sur un fichier avec la commande: print FILEHANDLE "toto42"; ou print FILEHANDLE "toto42n";
Est-il possible de lancer Perl avec une option ou de mettre un flag dans son script en place pour que Perl ecrit tout ce qui a été passé à "print FILEHANDLE" seulement lorsqu'on appelle la commande "close(FILEHANDLE);"?
perldoc IO::Handle, voir du côté de setbuf, ça devrait faire ce que tu veux (en restant sage).
Sinon il y a des méthodes plus tordues avec un peu d'overloading sur print et close, je suppose...
Jacques.
Salut,
On Sun, 28 Aug 2005 03:12:20 +0200, saf <saf@nerim.net> wrote:
Je me suis demandé si Perl écrit directement sur un fichier avec la
commande:
print FILEHANDLE "toto42";
ou
print FILEHANDLE "toto42n";
Est-il possible de lancer Perl avec une option ou de mettre un flag dans
son script en place pour que Perl ecrit tout ce qui a été passé à
"print FILEHANDLE" seulement lorsqu'on appelle la commande
"close(FILEHANDLE);"?
perldoc IO::Handle, voir du côté de setbuf, ça devrait faire ce que tu
veux (en restant sage).
Sinon il y a des méthodes plus tordues avec un peu d'overloading sur print
et close, je suppose...
Je me suis demandé si Perl écrit directement sur un fichier avec la commande: print FILEHANDLE "toto42"; ou print FILEHANDLE "toto42n";
Est-il possible de lancer Perl avec une option ou de mettre un flag dans son script en place pour que Perl ecrit tout ce qui a été passé à "print FILEHANDLE" seulement lorsqu'on appelle la commande "close(FILEHANDLE);"?
perldoc IO::Handle, voir du côté de setbuf, ça devrait faire ce que tu veux (en restant sage).
Sinon il y a des méthodes plus tordues avec un peu d'overloading sur print et close, je suppose...