Bonjour,
Je suis nouveau sur le forum.
Je suis en stage actuellement dans le cadre de mes études en statistiques et informatiques.
Je dois créer un programme en Perl, le problème c'est que sur ma fiche de compétence je suis censé connaître ce langage mais avec les grèves des fac, ce cours a été annulé.
Aujourd'hui, il me reste à peine plus d'une 1 semaine pour arriver à terminer ce travail.
Je connais brièvement le langage de façon parce que j'ai tenté d'apprendre sur le tas, grâce aux forums, mais actuellement le travail que l'on me demande me semble trop compliqué pour moi ...
Si je n'arrive pas à faire un semblant de programme qui marche, j'ai peur de pas avoir grand chose à présenter.
Je vous présente donc mon problème.
- Je travaille sur des fichier textes, nommés de la forme suivante, "nomfichier-ligne-nompc.txt" et tous constitués de données de même format "JJ/MM/ANNEE hh:mm:ss"
- Ces fichiers doivent ensuite être déplacés d'un dossier X à un dossier Z selon l'archivage suivant : "Année\Mois\Ligne\NomPC".
- Le déplacement se base sur le fait que l'on récupère d'abord la date à l'intérieur du fichier. Puis on doit obtenir le nom de ligne ainsi que le nom de pc, directement sur le nom de fichier.
==>
EXEMPLE :
----------
fichier "abcd-l1-pc1.txt" placé dans le dossier "c:\shares\temp" doit passer dans le dossier "c:\shares\2002\11\ks1\pc"
Après avoir récupérer l'année et le mois, je dois vérifier si le dossier 2002 existe, s'il n'existe pas, je dois le créer, sinon je rentre dedans.
Je dois ensuite vérifier si le mois 11 existe, créer le dossier s'il n'existe pas etc.
Problèmes :
- J'arrive à récupérer le mois et l'année. Mais je dois seulement obtenir l'année et le mois de la 1er ligne et ça je ne sais pas le gérer
- Je ne sais pas récupérer la Ligne et le NomPC sur le fichier
- Je ne sais pas tester l'existence ou non d'un dossier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #!/usr/bin/perl ##opendir ($sDossier, 'C:\Data\fred') || die("Impossible d'ouvrir ".$sDossier); open my($file), '<', 'abcd-l1-pc1.txt' || die ("Impossible d'ouvrir le fichier\n"); while (<$file>){ @tab=split(/\s+/, $_); print ("$tab[0]\n", "$tab[1]\n", "$tab[2]\n" ); ##récupère le champs "date" @a=split(/\//, $tab[0]); print ("$a[0]\n", "$a[1]\n", "$a[2]\n"); ##récupère le jour, mois et année } close $file;
Partager