J'essaye de changer le stdout de la fonction de système en utilisant select. Mais cela ne semble pas fonctionner. La sortie du système s'affiche sur la console plutôt que d'être redirigée vers le fichier.Comment puis-je modifier le handle de fichier de sortie standard pour un appel système en Perl?
use strict;
use warnings;
chdir "C:\\Documents and Settings\\" or die "cannot open the dir\n";
open FH, ">out.txt" or die "cannot open out.txt\n";
select FH or die " cannot change the stdout\n";
system "dir /a" ;
Bien que je peux faire system "dir /a > out.txt"
, je veux savoir pourquoi le code ci-dessus ne fonctionne pas.
@ylebre, ne fonctionne pas. Changez la SORTIE en FH dans fdopen. Aussi, je voulais savoir pourquoi choisir ne fonctionnait pas. – chappar