gilou Modérateur Modosaurus Rex | Bon, en virant ton test initial pour prendre moins de place. Ce qui te manquait, c'est de connaitre l'usage de glob()
Code :
#!/usr/bin/perl use strict; use warnings; $month++; $year += 1900; # autant garder les bonne valeurs dans les variables printf("Nous sommes le : %02d du mois %02d de l'annee %02d\n", $mday, $month, $year% 1000); my $dateformated = sprintf("%02d-%02d-%02d", $year% 1000, $month, $mday); #date formatee, peut resservir my $logpattern = "BatchPorterExport_error_${dateformated}_*.log"; #pattern des fichiers a chercher my @loglist = glob($logpattern); # on en recupere le liste foreach (@loglist) { on boucle sur la liste pour processer fichier a fichier open(my $file1, '>>', $_) or die ("Probleme d'ouverture $_\n" ); sprintf($file1, "Nous sommes le : %02d du mois %02d de l'annee %02d\n", $mday, $month, $year% 1000); }
|
On peut aussi l'écrire de manière plus compacte:
Code :
#!/usr/bin/perl use strict; use warnings; $month++; $year += 1900; # autant garder les bonne valeurs dans les variables printf("Nous sommes le : %02d du mois %02d de l'annee %02d\n", $mday, $month, $year% 1000); my $dateformated = sprintf("%02d-%02d-%02d", $year% 1000, $month, $mday); foreach (glob("BatchPorterExport_error_${dateformated}_*.log" )) { open(my $file1, '>>', $_) or die ("Probleme d'ouverture $_\n" ); sprintf($file1, "Nous sommes le : %02d du mois %02d de l'annee %02d\n", $mday, $month, $year% 1000); }
|
Notes que glob() donne la liste des fichiers correspondant à un pattern dans le repertoire courant.
Il faut donc éventuellement faire un cd "le bon répertoire";
avant d'appeler glob(), selon l'endroit ou tu executes le script.
A+, Message édité par gilou le 18-03-2011 à 14:50:25 ---------------
There's more than what can be linked! -- Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- No jab ? No job ! -- (╯°□°)╯︵ ┻━┻
|