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 :

Scripts ou codes gratuits et disponibles pour tous en Perl [Sources]


Sujet :

Langage Perl

  1. #41
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut Page Source pour Perl
    Salut,

    Une page source est en cours de création (comme celle ci).
    elle aura pour but de regrouper des codes sources telles des procédures ou scripts que vous utilisez régulièrement et qui vous facilitent la vie sans avoir à réécrire 100 fois la même chose.

    Je vous propose d'y contribuer afin de l'alimenter, votre pseudo ou nom (si vous le souhaitez) y sera associé à chaque fois.
    Procédure à suivre :
    1- Mettez nous votre code source sous balise code.
    2- Assurez vous que votre code soit utile et fonctionnel.
    3- Commentez le.
    4- Faites un résumé d'une ligne ou 2 expliquant le but de votre code.
    5- Donnez un titre à votre code.
    6- Donnez un exemple d'utilisation si possible
    7- Nom de l'auteur

    NB: Si plusieurs personnes nous fournissent des codes dont le but est le même, nous choisirons le code le plus complet, clair, robuste et optimum.

    Merci de votre compréhension et sachez que ces codes ont pour but de faciliter la vie de tous ceux qui débutent ou maitrise le langage Perl.

    Je vous mets ci dessous le type de codes que nous attendons de vous.

    Merci pour votre contribution!!
      0  0

  2. #42
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Voici un exemple :
    Titre : Lister les fichiers d'un répertoire et ses sous répertoires.
    But : Le but est de pouvoir lister les fichiers d'un répertoire et de tous ses sous répertoires.
    Auteur : djibril

    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
    #======================================================
    # Nombre d'arguments : 1
    # Argument(s)        : un répertoire ($repertoire)
    # Retourne           : Tableau de fichier (@fichiers)
    #======================================================
    sub ListersFichiers {
      my ( $repertoire ) = @_;
      my @fichiers;
     
      # Ouverture d'un répertoire
      opendir (my $FhRep, $repertoire) 
        or die "impossible d'ouvrir le répertoire $repertoire\n";
     
      # Liste fichiers et répertoire sauf (. et ..)
      my @Contenu = grep { !/^\.\.?$/ } readdir($FhRep);
     
      # Fermeture du répertoire
      closedir ($FhRep);
     
      # On récupère tous les fichiers
      foreach my $nom ( @Contenu ) {
        # Fichiers
        if ( -f "$repertoire/$nom") {
          push ( @fichiers, "$repertoire/$nom" );  
        }
        # Repertoires
        elsif ( -d "$repertoire/$nom") {
          # recursivité
          push ( @fichiers, ListersFichiers("$repertoire/$nom") );
        }
      }
     
      return @fichiers;
    }
    Utilisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my $Repertoire = "C:/repertoire/djibril";
    my @LesFichiers = ListersFichiers ($Repertoire);
      0  0

  3. #43
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Salut,
    Je vous annonce que notre rubrique perl contient à ce jour une page pour nos différents codes sources gratuit.
    n'hésitez pas à nous aider à l'alimenter.


    L'équipe Perl
      0  0

  4. #44
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Je remets à jour ce post où vous pouvez poster vos codes (ou procédures) qui permettent de vous dépanner tous les jours.
    Ca permet de ne pas réinventer la roue et ça peut aider n'importe qui. De plus, Je pourrais me baser sur ces différents codes pour alimenter les sources de notre rubrique

    Merci de votre contribution
      0  0

  5. #45
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut convertir un fichier excel en texte ou csv
    Cette procédure permet de convertir un fichier excel 2007 ou avant en fichier txt ou csv.
    Le choix du séparateur est laissé à l'utilisateur.
    si on précise un répertoire, le fichier convertit sera crée dans ce dernier, sinon, il sera crée dans le même répertoire que le fichier excel.
    On peut choisir de convertir toutes les feuilles ou non du fichier excel en mettant -AllOnglets à 1 => tout sera convertit, ou à 0 et dans ce cas, à chaque feuille une confirmation sera demandée.

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    #!/usr/bin/perl
    use warnings;
    use strict;
    use Carp;
     
    my %Arguments = (
        -fichier => 'path/fichier.xls',
        -type    => 'csv',
        -separateur => "\t",
        -repertoire => '.',
        -AllOnglets => 0,
    );
    print ExcelToCsvTxt( \%Arguments );
     
    # But       : Convertit un fichier excel en txt ou csv
    # Arguement : Une référence de hash
    # Retourne  : fichier txt ou csv
    # Necessite : Spreadsheet::ParseExcel, Spreadsheet::XLSX et File::Basename
    sub ExcelToCsvTxt {
        my $RefArgument = shift;
     
        my $FichierXls = $RefArgument->{-fichier};
        my $Type       = $RefArgument->{-type};
        my $Repertoire = $RefArgument->{-repertoire};
        my $Separateur = $RefArgument->{-separateur};
        my $AllOnglets = $RefArgument->{-AllOnglets};
        $AllOnglets = 1 unless defined $AllOnglets;
     
        # vérification du fichier
        unless ( defined $FichierXls and $FichierXls =~ /\.xlsx?$/i ) {
            die <<'USAGE';
              my %Arguments = (
                  -fichier => 'chemin/vers/fichier.xls',
                  -type    => 'csv',  # ou txt
                  -separateur => ';', # au choix
                  -repertoire => '.', # facultatif
                  -AllOnglets => 1,   # ou 0 => demande confirmation 
              );
              print ExcelToCsvTxt( \%Arguments );
     
    USAGE
        }
     
        # vérification du type de conversion voulu
        unless ( defined $Type and $Type =~ m{^csv|txt$}i ) {
            $Type = 'txt';
        }
     
        require File::Basename;
     
        # vérification du type de conversion voulu
        unless ( defined $Repertoire and -d $Repertoire ) {
            $Repertoire = File::Basename::dirname($FichierXls);
        }
     
        # Nouveau fichier
        my (@FileParse) = File::Basename::fileparse( $FichierXls, qr/\.[^.]*/ );
        my $FichierTxtCsv = $Repertoire . '/' . $FileParse[0] . ".$Type";
     
        # On verifie si c'est un fichier excel version 2007 ou plus ancien
        my $ExcelObj;
        if ( $FichierXls =~ m{\.xls$}i ) {
            require Spreadsheet::ParseExcel;
            $ExcelObj = Spreadsheet::ParseExcel::Workbook->Parse($FichierXls)
                or die("Impossible de lire le fichier $FichierXls\n");
        }
        else {
            require Spreadsheet::XLSX;
            $ExcelObj = Spreadsheet::XLSX->new($FichierXls)
                or die("Impossible de lire le fichier $FichierXls\n");
        }
     
        # Nombre de feuilles dans le fichier excel
        my $NbrFeuilles = scalar @{ $ExcelObj->{Worksheet} };
        # Création du fichier final
        open( my $fh, '>', $FichierTxtCsv )
            or die "impossible de ceer le fichier $FichierTxtCsv\n";
     
        my ( $iR, $iC, $ObjetFeuille, $oWkC );
     
        foreach my $ObjetFeuille ( @{ $ExcelObj->{Worksheet} } ) {
     
           if ( $NbrFeuilles > 1 and $AllOnglets != 1 ) {
            print "Voulez vous convertir l'onglet '$ObjetFeuille->{Name}' [Y/n] : ";  
            chomp ( my $Reponse = <STDIN> );
            print "\n";
            next if ( defined $Reponse and uc($Reponse) eq 'N' )
           }
     
            # Parcours des lignes
            for (
                my $iR = $ObjetFeuille->{MinRow};
                defined $ObjetFeuille->{MaxRow} && $iR <= $ObjetFeuille->{MaxRow};
                $iR++
                )
            {
     
                # Parcours des colonnes
                for (
                    my $iC = $ObjetFeuille->{MinCol};
                    defined $ObjetFeuille->{MaxCol}
                    && $iC <= $ObjetFeuille->{MaxCol};
                    $iC++
                    )
                {
                    $oWkC = $ObjetFeuille->{Cells}[$iR][$iC];
                    if ( defined $oWkC ) {
                        print {$fh} $oWkC->Value, $Separateur;
                    }
                    else {
                        print {$fh} $Separateur;
                    }
                }
                print {$fh} "\n";
            }
        }
        close($fh);
     
        return $FichierTxtCsv;
    }
      1  0

  6. #46
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Bah... je n'ai pas tous mes sources ici même, mais voici un exemple que j'ai sous la main pour afficher la date et l'heure du jour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    use POSIX qw(strftime);
    my $now_string = strftime "%a %b %e %H:%M:%S %Y", localtime;
    J'ai aussi beaucoup utilisé le format %V, qui défini le numéro de semaine selon la norme ISO 8601:2000
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    use POSIX qw(strftime);
    my %jours = ("1er janvier 2009" => [ 0, 0, 0, 1, 0, 109 ],
                 "31 décembre 2009" => [ 0, 0, 0, 31, 11, 109 ]);
    print strftime "Le $_ est en semaine %V\n", @{$jours{$_}} foreach sort keys %jours;
    Qui produit :
    Le 1er janvier 2009 est en semaine 01
    Le 31 décembre 2009 est en semaine 53

    En regardant vos calendrier, vous constaterez que c'est vrai
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say
      0  0

  7. #47
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    En fait, en relisant la rubrique sur les dates, je constates qu'il manque la citation du module POSIX, à la fois pour strftime, mais aussi mktime qui est une alternative pour la création de date de type Epoch (donc codées en secondes depuis Epoch sur un entier).

    Comme DateTime est le module préconisé, mais qu'il n'est pas disponible dans le Core, alors que POSIX l'est, il me semble que c'est une bonne alternative pour des utilisations "limitées".

    Exemple d'usage de mktime et localtime pour récupérer une date aléatoire entre deux dates données (compatibles avec des machines acceptant des entiers sur 32 bits) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $min_date = mktime(0,0,0, 1, 0, 10); # 1 janvier 1910
    $max_date = mktime(0, 0, 0, 1, 0, 130); # 1 janvier 2030
    ($sec, $min, $hour, $day, $month, $year) = localtime(int(rand($max_date)-$min_date))+$min_date);
    Attention toutefois, sur les machines 32bits, les dates limites utilisables sont de 1904 à 2038. Pour utiliser des dates en dehors de cette plage, il faut s'en remettre aux modules spécialisés comme DateTime.
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say
      0  0

  8. #48
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Ok, c'est une bonne idée. Je l'ai rajouté dans les sources.
      0  0

  9. #49
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Merci... juste un détail, j'ai fait une faute dans mon commentaire en disant "le code ci-dessus", alors qu'il est "ci-dessous"
    Désolé.
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say
      0  0

  10. #50
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
      0  0

  11. #51
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Je propose de rajouter quelques questions et sections, à vous de compléter la liste.

    Comment Convertir un fichier Excel en fichier csv/txt ou l'inverse ?
    Comment vérifier une adresse email ?
    Comment transposer un fichier ?
    Comment saisir un mot de passe de façon invisible sur une console ?
    Comment afficher une barre de progression sur une console ?
    Comment exécuter des commandes sur un serveur distant via ssh en Perl ?
    Comment récupérer le contenu d'une page web ?
    Comment récupérer les liens sur une page web ?
    Comment lister les disques physiques ?
    Comment faire un sleep de moins d'une seconde ?
    Comment introduire du code C, C++, ou java dans du Perl ?
    Comment faire du FTP ?
    Comment lire un fichier de configuration (.ini, yaml, ...) ?
    Comment créer une interface graphique en Perl ?
    Comment envoyer des email en Perl ?
    Comment lire de la musique mp3, wav via Perl ?

    etc etc
      0  0

  12. #52
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Tu as des sources pour toute ta liste ? (j'avais écrit un module pour la barre de progression par exemple).
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say
      0  0

  13. #53
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Pour 80% des questions. Mais tu peux toujours proposer ton code; Si possible je le mixerais avec le mien ou bien, on essayera d'en tirer le meilleur afin de le mettre dans les sources.

    Voilou.
      0  0

  14. #54
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Je n'ai pas mes sources au bureau, il faut que je pense à les récupérer ce soir

    Bon, en même temps, le truc était hyper-basique.
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say
      0  0

  15. #55
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    C'est sûr, mais bon, tout dépend du but de la barre de progression. Généralement lorsque je l'utilise, c'est pour avoir la progression du parsing d'un fichier. Mais il peut être adapté à autre chose.

    Sinon, si tu as les réponses des autres questions ou de nouvelles à proposer, faut pas hésiter.
      0  0

  16. #56
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    J'en aurai probablement quand je verrai les sources
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say
      0  0

  17. #57
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Comment déterminer l'espace des disques ? Fait
    Comment faire un sleep de moins d'une seconde ? Fait
    Comment saisir un mot de passe de façon invisible sur une console ? Fait
      0  0

  18. #58
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Comment transposer un fichier tabulé ? Fait

    D'ailleurs, n'hésitez pas à proposer des commandes Perl unilignes si vous en avez. ça peut toujours servir.
      0  0

  19. #59
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Comment trouver le nombre d'occurrence d'un motif dans une chaine ? Fait
    Comment mettre la première lettre de tous les mots d'une chaine en majuscule ou minuscule ? Fait
    Comment convertir un fichier Excel en fichier csv ou txt ? Fait
      0  0

  20. #60
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Citation Envoyé par djibril Voir le message
    Comment trouver le nombre d'occurrence d'un motif dans une chaine ? Fait
    L'explication me parait erronée : =()= n'est pas un opérateur secret, d'ailleurs, il est tout à fait possible d'introduire des espaces dans l'expression, tel qu'ainsi :
    En fait, c'est plus simplement l'usage de l'opérateur d'affectation à une liste vide
    qui permet d'évaluer l'expression régulière dans un contexte de liste
    et dont le résultat est affecté à $count.
    Or la valeur de retour d'une affectation de liste évaluée dans un contexte de scalaire retourne le nombre d'élément contenu dans la rvalue de cet opérateur d'affectation, donc le nombre d'élément capturé par l'expression régulière.
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say
      0  0

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/11/2009, 11h17
  2. Réponses: 5
    Dernier message: 15/09/2009, 13h00
  3. Réponses: 12
    Dernier message: 29/07/2009, 17h26
  4. Réponses: 0
    Dernier message: 23/07/2009, 16h21
  5. Réponses: 0
    Dernier message: 23/07/2009, 16h21

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