Probleme avec un exercice en perl

Résolu
svenstek -  
svenstek Messages postés 6 Statut Membre -
Bonjour,
j'arrive pas à résoudre un exercice en perl , l'exercice consiste à écrire un programme qui récupère toutes les dates(écrits en français sans séparateurs:exemple 12mars2002) à partir d'un fichier texte(qu'on va crée)ensuite affiche chaque date en chiffres avec saison associée
ex:sdfdsfdsfdsfdds14mai2003dsqdqsdsq31janvier1999 doit afficher:14mai2003:14.05.2003:printemps et ainsi de suite vous avez une idée ?
Configuration: Windows Vista / Firefox 3.5.8

5 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    vous avez une idée ?
    Oui, mais on aimera bien voir la tienne d'abord.
    0
  2. svenstek
     
    moi a vrai dire je suis nul en perl :( j'ai aucune idée
    0
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Je vais voir ça plus tard.
    0
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Par exemple

    Le fichier

    $ cat date.txt
    sdfdsfdsfdsfdds14mai2003dsqdqsdsq31janvier1999
    sdfdsfdsfdsfdds24novembre2003dsqdqsdsq31juin1999
    sdfdsfdsfdsfdds24décembre2003dsqdqsdsq31juillet1999
    sdfdsfdsfdsfdds24TITI2003dsqdqsdsq31avril1999


    Le script

    $ cat cherche_date.pl
    #!/usr/bin/perl
    use strict;use warnings;
    open F,"date.txt" or die "E/S date.txt, $!\n";
    
    
    my %mois=(
              "janvier"  => ["01", "hiver"],
              "février"  => ["02", "hiver"],
              "mars"     => ["03", "printemps"],
              "avril"    => ["04", "printemps"],
              "mai"      => ["05", "printemps"],
              "juin"     => ["06", "été"],
              "juillet"  => ["07", "été"],
              "août"     => ["08", "été"],
              "septembre"=> ["09", "automne"],
              "octobre"  => ["10", "automne"],
              "novembre" => ["11", "automne"],
              "décembre" => ["12", "hiver"],
    
    );
    
    while(<F>){
      chomp;
      my @t=$_=~/(\d\d.*?\d{4})/g;
      for my $m(@t){
        $m=~/(\d+)(\D+)(\d+)/;
        print "$m:$1.${$mois{$2}}[0].$3:${$mois{$2}}[1]\n"
              if grep {/$2/} keys %mois;
      }
    }
    __END__
    


    L'exécution

    $ perl cherche_date.pl
    14mai2003:14.05.2003:printemps
    31janvier1999:31.01.1999:hiver
    24novembre2003:24.11.2003:automne
    31juin1999:31.06.1999:été
    24décembre2003:24.12.2003:hiver
    31juillet1999:31.07.1999:été
    31avril1999:31.04.1999:printemps


    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. svenstek Messages postés 6 Statut Membre
     
    je vous remercie
    0