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 :

probleme de variable


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Par défaut probleme de variable
    Bonjour

    J'ai une date contenu dans une variable, au format suivant 23-02-2006 qui est $Date_Toto. En fonction de cette variable, je voudrai creer une autre variable qui s'appelle $Date_Tata dans laquelle, je ne retrouverai que 23022006, donc la meme date , mais sans les -.

    sous unix, il faudrait faire
    Date_Tata = $(echo $Date_Toto | tr - ...)

    mais sous perl ?? mon code avec le tr est correcte, mais je m'y perds un peu avec les variables et la syntaxe.

    pour résumer , j'ai 23-02-2006 et je souhaite avoir 23022006

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $Date_Toto = $ligne;
    $Date_Tata  = print $Date_toto | tr/-//d ;

  2. #2
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut Re: probleme de variable
    Bonjour,

    Citation Envoyé par vince2005
    mais sous perl ?? mon code avec le tr est correcte, mais je m'y perds un peu avec les variables et la syntaxe.

    pour résumer , j'ai 23-02-2006 et je souhaite avoir 23022006

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $Date_Toto = $ligne;
    $Date_Tata  = print $Date_toto | tr/-//d ;
    Perl n'est pas du shell ... il y a une petite différence de logique ...

    Il existe, en Perl, des opérateurs spécifiques de translitteration (tr) ou de substitution d'expression rationnelles.

    De plus, il n'est pas nécessaire de "printer" et "piper" comme en shell, puisque l'on ne traite pas des entrées/sorties mais que l'on est à l'intérieur d'un environnement d'interprétation cohérent. Qui plus est, l'opérateur | a en Perl une signification différente du pipe du shell !

    Dans le cas présent, la translittération (tr) ne convient pas, car elle vise à remplacer les caractères sur le mode "1 pour 1". Cela conviendrait pour remplacer tous les "-" par des "_" ou des " ", mais pas pour des suppressions.

    Pour une suppression de tous les "-", rien de tel qu'une substitution d'expression rationnelle, avec une chaine de substitution vide.

    Quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $date_tata = "23-03-2002";
    $date_tata =~ s/-//g;

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Par défaut ....
    ouin je suis d'accord !!!

    mais je souhaiterai que ma variable $date_tata reste au format 23-03-2002 et par contre, avoir une variable $date_toto qui contienne ce nouveau format.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $date_tata = "23-03-2002"; 
    $date_toto =~ print $date_tata s/-//g;

  4. #4
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut Re: ....
    Citation Envoyé par vince2005
    mais je souhaiterai que ma variable $date_tata reste au format 23-03-2002 et par contre, avoir une variable $date_toto qui contienne ce nouveau format.
    Pas de problème, il suffit de conserver $date_tata et de traiter $date_toto ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $date_tata = "23-03-2002"; 
    $date_toto = $date_tata;
    $date_toto =~ s/-//g;

Discussions similaires

  1. Probleme de variable entre SQL et Php
    Par copin dans le forum Langage SQL
    Réponses: 6
    Dernier message: 17/06/2005, 10h58
  2. Réponses: 10
    Dernier message: 03/05/2005, 21h57
  3. [langage] Probleme de variable transfert de contenu
    Par Ludo167 dans le forum Langage
    Réponses: 10
    Dernier message: 08/07/2004, 11h40
  4. [algo]probleme de variables hotes ds un insert
    Par omega dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/03/2004, 09h03
  5. Réponses: 2
    Dernier message: 04/01/2004, 15h14

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