Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2529 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] Récuperer l'année d'un fichier ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Perl] Récuperer l'année d'un fichier ...

n°130058
SCREAM78
Posté le 24-04-2002 à 10:12:04  profilanswer
 

Bonjour,
 
G besoin de récuperer l'année ou un fichier à été changer : en gros je veux faire la commande UNIX : stat nom_fichier | grep Change: | cut -d" " -f6
Mais j'arrive pas a faire ca en PERL .. je trouve pas la commande qui permet de recuperer la valeur en sortie de la commande ... system renvoie le statut de sortie du programme. Existe t'il une autre fonction pour faire ce que je veux ?  
Merci bcp !

mood
Publicité
Posté le 24-04-2002 à 10:12:04  profilanswer
 

n°130064
SCREAM78
Posté le 24-04-2002 à 10:24:04  profilanswer
 

G trouvé la réponse ... ct tout con ... j'aurai du faire une recherche avant car un mec m'a donné une idée !
$year=`stat $ARGV[0] | grep Change: | cut -d\" \" -f6`;
Voila ! ca pourra peut etre aider qcn !

n°130065
impulse
Posté le 24-04-2002 à 10:25:29  profilanswer
 
n°130067
impulse
Posté le 24-04-2002 à 10:28:34  profilanswer
 

Citation :

G trouvé la réponse ... ct tout con ... j'aurai du faire une recherche avant car un mec m'a donné une idée !  
$year=`stat $ARGV[0] | grep Change: | cut -d\" \" -f6`;  
Voila ! ca pourra peut etre aider qcn !


 
Utilise la fonction stat() de Perl : elle existe, c'est pas pour rien. N'utilise pas les backticks (`) pour executer une commande systeme et recuperer le resultat si l'equivalent Perl existe...
 
hihi :D

 

[jfdsdjhfuetppo]--Message édité par impulse le 24-04-2002 à 13:52:34--[/jfdsdjhfuetppo]

n°130082
SCREAM78
Posté le 24-04-2002 à 11:02:03  profilanswer
 

Ouais merci ... j'avais aussi vu la commande stat ... je vais essayer ;-)

n°130125
SCREAM78
Posté le 24-04-2002 à 12:34:21  profilanswer
 

J'arrive a faire la meme chose avec stat() :
 
$year=1900+(localtime((stat($ARGV[0]))[9]))[5];
 
C un peu plus complexe et plus difficilement comprehensible ... mais je sais pas si ca apporte un reel interet en terme de performance ... mais je pense que oui car c une commande interne ... t'en pense koi impulse ? ou un autre :D .
Merci encore ! ;)

n°130145
impulse
Posté le 24-04-2002 à 13:36:24  profilanswer
 

Pourquoi crois tu que Larry Wall (le createur de Perl) se soit "amusé" a refaire ce genre de fonctions ? ;)
 
Je pense que c'est mieux d'utiliser la fonction Perl, quand elle existe, meme si je ne peux pas t'affirmer que tu gagnes quelque chose en termes de peformance (a priori je dirais que c'est plus performant mais je t'avoue que je ne me suis pas penché sur la question :D).
 
De + je ne trouve pas que "$year=1900+(localtime((stat($ARGV[0]))[9]))[5];" soit incomprehensible => il suffit de chercher des infos sur localtime() et stat() pour celui qui ne connait pas et tout devient clair (par exemple : je n'ai jamais utilisé ces fonctions mais en faisant un petit tour dans la doc de Perl je peux savoir en 30 secondes a quoi elles servent etc...).
 
Voila.
 
hihi :D
 
PS : j'ai trouvé l'info que tu cherchais grace a un bouquin excellent sur Perl que je conseille a tous ceux qui s'interessent a ce language : "Learning Perl" chez O'Reilly.

 

[jfdsdjhfuetppo]--Message édité par impulse le 24-04-2002 à 13:37:08--[/jfdsdjhfuetppo]

n°130150
phraide
Posté le 24-04-2002 à 13:55:59  profilanswer
 

il faut utiliser les fonctions natives de Perl ou autre quand elles existent, plus simple et surtout portable. Pensez a certains OS pas gratuit, stats ils connaissent surement pas :D

n°130156
impulse
Posté le 24-04-2002 à 14:01:22  profilanswer
 

Citation :

il faut utiliser les fonctions natives de Perl ou autre quand elles existent, plus simple et surtout portable. Pensez a certains OS pas gratuit, stats ils connaissent surement pas


 
J'allais le rajouter ! (je viens de voir ça dans la doc de Perl ;) ). Je me souviens maintenant que je m'etais pris la tete (enfin pas trop quand meme) pour une commande de ce type car je faisais la moitié du boulot sur NT et l'autre sur Unix. Bien sur les 2 commandes n'utilisaient pas le meme format... :sarcastic:
 
hihi ;)

n°130158
SCREAM78
Posté le 24-04-2002 à 14:08:07  profilanswer
 

Oki ben merci a tous !
Je vais garder la deuxieme version ... comme ca mon code sera "portable" ... mais c fait pour tourner sur du Sun ou linux.
Merci !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] Récuperer l'année d'un fichier ...

 

Sujets relatifs
VB6 - Récupérer la liste des fichiers d'un répertoire donné[oracle SQL] comment recuperer la taille d'un champ ds une table ?
[VB] Comment construire un fichier Excel ?Installer un module Perl par ftp, possible ?
[PERL] remplacement de partie dans un tableau[ Perl ] comment "un-tainter" un array ?
Attacher un fichier lors de l'envoi d'un mail[C] Récupérer espace disque
[Delphi] importer un fichier .xls dans une base de données[Perl] interpreteur pour win 2k...
Plus de sujets relatifs à : [Perl] Récuperer l'année d'un fichier ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR