Equivalent de la commande TEE en perl [Fermé]

Signaler
Messages postés
136
Date d'inscription
mercredi 20 avril 2011
Statut
Membre
Dernière intervention
11 février 2016
-
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
-
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

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 544
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:~$