Sous Unix/Linux, dans un script perl, il faut procéder ainsi:
1) Récupérer les valeurs courantes: ($atime, $mtime) = (stat($filename))[8,9];
2) faire ses modifs dans le fichier
3) Remettre les valeurs avant modif: utime $atime, $mtime, $file or die "Error setting timestamp for $file: $!\n";
cette 3e partie ne marche pas sous Windows (j'ai pas testé, c'est peut être maintenant bon dans une version récente), il faut passer par des fonctionnalités spécifiques de Win32API::File::Time.
use Win32API::File::Time qw{:win};
1) ($atime, $mtime, $ctime) = GetFileTime ($filename);
2) ...
3) SetFileTime ($filename, $atime, $mtime, $ctime);
>je cherche à modifier cette syntaxe afin de s'attaquer qu'aux fichiers contenant l'expression
Comme tu dois obligatoirement en lire le contenu, l'accesstime est modifié, que le fichier soit modifié ou non et donc il faut le remettre comme plus indiqué.
A+,
Message édité par gilou le 20-01-2011 à 19:23:42
---------------
There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! --