IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

année et mois de dernière modification d'un fichier


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 22
    Points : 21
    Points
    21
    Par défaut année et mois de dernière modification d'un fichier
    Bonjour, je cherche à créer une fonction, avec comme paramètre un nom de fichier et qui retournerait une date de dernière modification sous forme AAAAMM ex 20076 ou 200710 J'ai juste besoin de l'année et du mois. Pour l'instant j'ai écrit ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #retourne date fichier passé en paramètre
    sub valide {
    my @afaire=@_;
    ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks)= stat("$afa
    ire");
    ($sec,$min,$heure,$jourM,$mois,$an,$jourS,$jourA)=localtime($mtime);
    $an+=1900;
    $mois++;
    $affi="$an"."$mois";
    #print ("dernier accès :$affi\n");
    return $affi;
    }
    ceci fonctionne quand je l'utilise dans un script (sans écrire sub valide ...) mais dès que je tente de m'en servir comme fonction, ça me retourne dans tous les cas 19701 (1970 et 1). Origine du temps Unix. Je ne vois pas où est le problème, je me suis mis à perl hier après midi.

    Merci pour votre aide.

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    1. Tu devrais mettre des balises [ CODE ] autour de tes exemples de code, utilise le bouton # de l'interface de présentation du forum.
    2. Peux-tu installer des modules sur ton ordinateur ?
    3. @afaire et $afaire ne sont pas la même variable, ce sont deux variables complètement différentes...
    4. Tu utilises plein de variables inutiles, et comme tu ne les déclares pas, je te soupçonne de ne pas utiliser le pragma "strict". Va lire ce sujet en priorité, il contient un certain nombre de conseil qui t'aideront à programmer correctement en Perl (par exemple avec le pragma "strict", Perl t'aurait prévenu du problème potentiel avec $afaire).
    5. Tu obtiens 20066 en juin, ne préfèrerais-tu pas 200606 ? Je te recode la fonction dans cette optique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #retourne date fichier passé en paramètre
    sub get_mdate {
      # shift <=> shift @_, enlève le premier élément de @_ et le renvoie
      my $filename = shift;
      my $mtime = (stat($filename))[9];
      my ($mois, $an) = (localtime($mtime))[4,5];
      $an += 1900;
      $mois++;
      return (sprintf "%04d%02d", $an, $mois);
    }
    --
    Jedaï

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 22
    Points : 21
    Points
    21
    Par défaut
    Merci pour cette réponse la fonction tourne maitenant. Celle que tu m'as livrée est encore meilleure.

    A bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Date de dernière modification d'un fichier
    Par Olivier Regnier dans le forum Web
    Réponses: 1
    Dernier message: 25/09/2008, 00h14
  2. [PB 9 -> PB 11] Date de dernière modification d'un fichier
    Par hicks51100 dans le forum Powerbuilder
    Réponses: 2
    Dernier message: 27/06/2008, 15h26
  3. Connaître la date de dernière modification d'un fichier
    Par Olivier Regnier dans le forum Web
    Réponses: 9
    Dernier message: 08/11/2007, 15h34
  4. Date de dernière modification d'un fichier
    Par defacta dans le forum Langage
    Réponses: 1
    Dernier message: 04/09/2007, 13h10
  5. [FTP] date dernière modif d'1 fichier distant
    Par renaudjuif dans le forum Langage
    Réponses: 1
    Dernier message: 24/09/2006, 01h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo