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 :

problème avec un script de generation de nom de login


Sujet :

Langage Perl

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut problème avec un script de generation de nom de login
    bonjour a tous,

    voila je vous explique un peut mon problème : le script que je cherche a faire

    prend en parametres un nom et un prenom et forme un login sur les regles

    suivante:

    1) le login et une combinaisant de (6 "les premières)lettres du nom)+(1 lettre "la première du prenom)

    2) le nom et le prenom e doivent pas comporter d'espace "donc virer les espaces"

    3) si le la taille du nom fait moin de 6 caractère on complete du prenom

    4) si nom+ prenom fait moins de 6 caractères "ben c'est pas grave"

    .......

    voici le code

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    #!/usr/bin/perl -w
     
    my $tmp_var=undef;
    my @tmp_tab=undef;
    my @nom_prenom=("mi ne","jean pierre");
    my $length_name=undef;
    my $loginID=undef;
    my $cpt=0;
     
    print "\nnom_prenom[0]=$nom_prenom[0]\n";
    $nom_prenom[0]=~s/ //;
    print "\napres l'enlevement des espaces : $nom_prenom[0]\n";
    print "\nnom_prenom[1]=$nom_prenom[1]\n";
    $nom_prenom[1]=~s/ //;
    print "\napres l'enlevement des espaces : $nom_prenom[1]\n";
    $length_name=length($nom_prenom[0]);
     
    if ($length_name==6) {
    	print "\nnom == 6\n";
    	$loginID=$nom_prenom[0].substr($nom_prenom[1],0,1);
    }elsif ($length_name>6) {
    	print "\nnom > 6\n";
    	$loginID=substr($nom_prenom[0],0,6).substr($nom_prenom[1],0,1);
    }elsif ($length_name<6) {
    	print "\nnom <= 6\n";
    	$tmp_tab=split(/w/,$nom_prenom[1]);
    	print "\n$tmp_tab[0],$tmp_tab[1],$tmp_tab[2],$tmp_tab[3]\n";
    	$loginID=$nom_prenom[0];
    	while (length($loginID)<=7 && $tmp_tab[$cpt]) {
    	$loginID=$tmp_tab[$cpt++];
    	}
    }
    print "\n\n$loginID\n\n";
    et voici le resultat de l'execution sous scite :


    >perl -w loginid.pl
    Use of implicit split to @_ is deprecated at loginid.pl line 26.
    Name "main::tmp_tab" used only once: possible typo at loginid.pl line 26.
    Use of uninitialized value in concatenation (.) or string at loginid.pl line 27.
    Use of uninitialized value in concatenation (.) or string at loginid.pl line 27.
    Use of uninitialized value in concatenation (.) or string at loginid.pl line 27.
    Use of uninitialized value in concatenation (.) or string at loginid.pl line 27.

    nom_prenom[0]=mi ne

    apres l'enlevement des espaces : mine

    nom_prenom[1]=jean pierre

    apres l'enlevement des espaces : jeanpierre

    nom <= 6

    ,,,


    mine

    >Exit code: 0
    je n'arrive pas a enlever quand il ya plusieurs espaces
    et je n'arrive pas a faire un split d'un mot
    merci de m'aider

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut
    un petit up

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut
    c'est bon c'est trouver voici le script corrigé

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    #!/usr/bin/perl -w
     
    my $tmp_var=undef;
    my @tmp_tab=undef;
    my @nom_prenom=("m'i ne","jean pierre");
    my $length_name=undef;
    my $loginID=undef;
    my $cpt=0;
     
    print "\nnom_prenom[0]=$nom_prenom[0]\n";
    $nom_prenom[0]=~s/ //;
    $nom_prenom[0]=~s/'//;
    print "\napres l'enlevement des espaces : $nom_prenom[0]\n";
    print "\nnom_prenom[1]=$nom_prenom[1]\n";
    $nom_prenom[1]=~s/ //;
    $nom_prenom[0]=~s/'//;
    print "\napres l'enlevement des espaces : $nom_prenom[1]\n";
    $length_name=length($nom_prenom[0]);
     
    if ($length_name==6) {
    	print "\nnom == 6\n";
    	$loginID=$nom_prenom[0].substr($nom_prenom[1],0,1);
    }elsif ($length_name>6) {
    	print "\nnom > 6\n";
    	$loginID=substr($nom_prenom[0],0,6).substr($nom_prenom[1],0,1);
    }elsif ($length_name<6) {
    	print "\nnom <= 6\n";
    	@tmp_tab=split(//,$nom_prenom[1]);
    	print "\n$tmp_tab[0],$tmp_tab[1],$tmp_tab[2],$tmp_tab[3]\n";
    	$loginID=$nom_prenom[0];
    	while (length($loginID)<=6 && $tmp_tab[$cpt]) {
    	$loginID.=$tmp_tab[$cpt++];
    	}
    }
    print "\n\n$loginID\n\n";

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

Discussions similaires

  1. Problème avec le script de ressources (cf tuto)
    Par MaN@eDeN dans le forum Windows
    Réponses: 1
    Dernier message: 08/03/2006, 00h41
  2. (Batch et VBS) Petit probléme avec un script batch VBS
    Par Edoxituz dans le forum Windows
    Réponses: 11
    Dernier message: 27/02/2006, 17h21
  3. [Mail] Problème avec mon script d'envoi de mail
    Par leroivert dans le forum Langage
    Réponses: 18
    Dernier message: 02/12/2005, 00h26
  4. [Configuration] Problème avec un script de login utilisant une session
    Par HNT dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 27/09/2005, 19h56
  5. Problème avec un script d'ouverture de pop-up
    Par HNT dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 19/08/2005, 16h37

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