Vous pouvez rediriger la sortie d'un script Perl en un fichier en utilisant les méthodes suivantes dans le script lui-même:
1. Utilisation de la fonction `` `` `` Open 'et du FileHandle:
`` `Perl
#! / usr / bin / perl
Ouvrez le fichier de sortie pour l'écriture
ouvrir (mon $ fh, ">", "output.txt") ou mourir "Impossible d'ouvrir le fichier de sortie:$!";
Imprimez la sortie vers le fichier Handle
imprimer $ fh "Ceci est une sortie \ n";
imprimer $ fh "Ceci est une autre ligne \ n";
Fermez le fichier Handle
Close ($ fh);
`` '
2. Utilisation de la fonction «System»:
`` `Perl
#! / usr / bin / perl
Exécutez le script Perl et redirigez la sortie vers un fichier
System ("Perl Script.pl> output.txt");
`` '
3. Utilisation de backticks (``):
`` `Perl
#! / usr / bin / perl
Exécutez le script Perl et capture la sortie en une variable
mon $ output =`perl script.pl`;
Écrivez la sortie capturée dans un fichier
ouvrir (mon $ fh, ">", "output.txt") ou mourir "Impossible d'ouvrir le fichier de sortie:$!";
Imprimer $ FH $
Close ($ fh);
`` '
Explication:
* `Open` Fonction: Cette fonction est utilisée pour ouvrir un fichier pour l'écriture (`>` symbole) et l'associe à un filehandle (`$ fh` dans l'exemple). Vous pouvez ensuite utiliser `imprimer 'pour écrire des données sur le fichierHandle.
* `System` Fonction: Cette fonction exécute une commande système, y compris la redirection. Dans ce cas, il exécute le script Perl et redirige sa sortie vers `output.txt`.
* backtticks (``): Cela capture la sortie d'une commande dans Backticks dans une variable. Vous pouvez ensuite traiter et écrire la sortie capturée dans un fichier.
Choisir la méthode:
* `Open` Fonction: Le plus polyvalent pour contrôler la sortie dans le script.
* `System` Fonction: Moyen simple d'exécuter des commandes et de rediriger la sortie, surtout si vous n'avez pas besoin de traiter la sortie dans le script.
* backtticks: Utile pour capturer la sortie d'une commande pour un traitement ultérieur.
Remarques importantes:
* Le symbole `>` redirige la sortie standard (stdout) vers le fichier.
* Utilisez `2>` pour rediriger l'erreur standard (stderr).
* Utilisez `>>` pour ajouter la sortie dans un fichier existant.
* Si vous avez besoin de rediriger à la fois Stdout et Stderr, vous pouvez utiliser `&> '(par exemple,` perl script.pl &> output.txt`).
N'oubliez pas de gérer les erreurs gracieusement à l'aide des fonctions «die» ou «Warn» pour empêcher votre script de s'écraser de façon inattendue.
|