Si está utilizando un sistema similar a Unix, utilice la utilidad tee.
$ perl -le 'print "Hello, world"' | tee /tmp/foo /tmp/bar
Hello, world
$ cat /tmp/foo /tmp/bar
Hello, world
Hello, world
Para configurar esta duplicación desde el programa, configurar una tubería de su STDOUT
a un proceso externo camiseta. Pasando a "|-"
open
lo hace fácil de hacer.
#! /usr/bin/env perl
use strict;
use warnings;
my @copies = qw(/tmp/foo /tmp/bar);
open STDOUT, "|-", "tee", @copies or die "$0: tee failed: $!";
print "Hello, world!\n";
close STDOUT or warn "$0: close: $!";
Demostración:
$ ./stdout-copies-demo
Hello, world!
$ cat /tmp/foo /tmp/bar
Hello, world!
Hello, world!
¿Dónde pidió el OP que reemplace 'STDOUT' (... y con qué? 0_o). OP quería "redirigir la secuencia' STDOUT' a dos archivos ". –
Al seleccionar 'ing '$ tee',' $ tee' se convierte en el manejador predeterminado. TIMTOWTDI, te guste o no. –
Estoy realmente ciego. ¡Borrando mis comentarios falsos compeltes! – ikegami