Equivalent de la commande TEE en perl

Fermé
lefreeman63 Messages postés 136 Date d'inscription mercredi 20 avril 2011 Statut Membre Dernière intervention 11 février 2016 - 4 oct. 2012 à 11:08
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 8 oct. 2012 à 21:53
Bonjour tous le monde,

Je suis en train de mettre en place un petit script en perl, et je cherche en faite à mettre le plus de log possible dedans.

Au début de mon script principal j'ouvre bien mon fichier de log dans lequel je viens écrire au fur et à mesure.
Sauf que dans ce script je viens appeler un script PERL extérieur qui effectue un certain nombre d'action que j'aimerai tracé dans la même log.
En shell je sais qu'il existe la commande
TEE 
qui me permet de récupérer ces infos.

Mais en PERL je ne vois pas comment récupérer les infos de ce script pour les ajoutées dans ma log.

E-ce que quelqu'un aurait une merveilleuse idée pour moi svp???

:-))

Merci d'avance.




1 réponse

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
8 oct. 2012 à 21:53
Salut,

Un petit exemple pour t'inspirer

Le script log.pl écrit les lettre a, b et c dans log.txt
Ensuite on lit dans la variable $lire la sortie de script chiffres.pl
Et puis on écrit A, B et C dans log.txt

lami20j@debian:~$ cat log.txt
cat: log.txt: No such file or directory
lami20j@debian:~$ cat log.pl 
#!/usr/bin/perl

use strict;
use warnings;

open LOG,">log.txt" or die "I/O : $!\n";

print LOG "$_\n" for 'a'..'c';

my $lire=qx{ perl ./chiffres.pl };
print LOG $lire;

print LOG "$_\n" for 'A'..'C';
lami20j@debian:~$ cat chiffres.pl 
#!/usr/bin/perl

use strict;
use warnings;

print "$_\n" for 1..3;
lami20j@debian:~$ perl chiffres.pl 
1
2
3
lami20j@debian:~$ perl log.pl 
lami20j@debian:~$ cat log.txt 
a
b
c
1
2
3
A
B
C
lami20j@debian:~$ 



0