Bonjour,
Je débute en Perl, alors je demande a ceux qui ne le sont pas d'être indulgent.
Voila, je cherche comment faire une redirection des erreurs de mon script vers un fichier log.
voici un exemple de mon script:
!/usr/bin/perl -w
open (F,'<intf.pl') || die "Probleme d'ouverture : $!" ;
my $i=0;
while (my $ligne = ) {
$i++;
}
print "\n\011Nombre de lignes du fichier $F : $i \n\n";
ce que je souhaite, le message "Probleme d'ouverture" soit écrit dans un log.
En shell je connais :
fic="intf.pl"
if [ -e $fic ]
then cat $fic
else echo "Probleme d'ouverture" > erreur.log
fi
la redirection d'un message vers un fichier est facile a faire en shell, mais en perl comment faire ?
# écrire dans un fichier en perl
Posté par littlebreizhman . Évalué à 1.
print LOG "Test\n";
}
close(LOG);
[^] # Re: écrire dans un fichier en perl
Posté par littlebreizhman . Évalué à 2.
Outre l' { en trop qui traine, je ne répond pas à ta question.
A ma connaissance, die retourne seulement un message sur la sortie d'erreur STDERR.
Le plus simple, c'est de rediriger la sortie d'erreur ainsi :
perl ton_script.pl 2> File.log
# Si j'ose
Posté par Lol Zimmerli (site web personnel, Mastodon) . Évalué à 3.
La gelée de coings est une chose à ne pas avaler de travers.
# Module Tie
Posté par mrlem (site web personnel) . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.