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 :

[langage] Creer une fonction qui met en majuscule ?


Sujet :

Langage Perl

  1. #1
    Membre averti
    Inscrit en
    Août 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 29
    Par défaut [langage] Creer une fonction qui met en majuscule ?
    Slt je voudrais creer une fonction qui met une chaine passé en param en majuscule mais je n'y arrive pas .

    voila ce que j'ai testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    sub majuscule
    {
    	my $chaine = $_[0] ;
    	my @temp = split (//,$chaine) ;
    	my $taille = @temp ;
    	my @res = @temp ;
    	my result = "" ;
     
    	for ($i = 0 ; $i < $taille ; $i++)
    	{
    		if (("a" ge $temp[$i]) && ("z" le $temp[$i]))
    		{
    			$res[$i] = $temp[$i] - ('a' - 'A') ;
    		}
    	}
     
    	for ($i = 0 ; $i < $taille ; $i++)
            {
                     $result .= $res[$i] ;
            }
     
    	return ($result) ;
    }
    Merci de votre aide et @++

  2. #2
    Membre averti
    Inscrit en
    Août 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 29
    Par défaut
    J'ai trouvé une solution avec une expre reguliaire mais j'aimerais bien savoir pkoi mon premier prog marche pas si possible.

    Voila le code avec l'expr reg
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    sub majusculeOK
    {
    	my $chaine = $_[0] ;
     
    	$chaine =~ tr/a-z/A-Z/ ;
    	return $chaine ;
    }
    @++ et merci

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 53
    Par défaut
    pourquoi inventer qq chose qui existe ?
    print uc("toto\n");

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 68
    Par défaut
    De meme pour mettre en minuscules avec : lc('string')

    Merci de bien vouloir cocher la case résolu pour ce post

  5. #5
    Membre averti
    Inscrit en
    Août 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 29
    Par défaut
    Citation Envoyé par arthurr
    pourquoi inventer qq chose qui existe ?
    Pour apprendre tt simplement . Comment fre kkchose de compliqué si on sait pas fre kkchose de simple. Voila mon raisonnement mais sa a rien avoir avec le sujet.
    Merci de vos reponses, je vais mettre resolu mais j'avou que j'aurais bien aimé savoir pkoi mon code est faux .

    @++

  6. #6
    Membre expérimenté
    Inscrit en
    Août 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 156
    Par défaut
    Citation Envoyé par Cyber@l
    mais j'avou que j'aurais bien aimé savoir pkoi mon code est faux .
    attention aux '$' manquants pour les noms des variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     my [b]$[/b]result = "" ;
    tu as dû confondre 'greater than' (plus grand que) et 'less than' (plus petit que)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
          if (($temp[$i] ge 'a') && ($temp[$i] le 'z'))
          {
             $res[$i] = chr(ord($temp[$i]) - 32) ;
          }
    utilise ord et chr pour passer du caractère à la valeur ascii et vice-versa

    pour la doc en ligne en francais sur perl, je te conseille ce site

  7. #7
    Membre averti
    Inscrit en
    Août 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 29
    Par défaut
    Merci bcp je testerais sa demain, sa doit marcher nikel.
    Decidement que des erreurs betes comme souvent .

    @++

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/12/2011, 19h16
  2. creer une fonction qui retourne un tableau
    Par altaro dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 02/01/2010, 02h01
  3. [PHP 5.0] Creer une fonction qui retourne une variable dans le script
    Par keaton7 dans le forum Langage
    Réponses: 8
    Dernier message: 10/02/2009, 15h09
  4. Réponses: 14
    Dernier message: 09/04/2004, 14h44
  5. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 01h13

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