Précédent   Forum du club des développeurs et IT Pro > Autres langages > Perl > Langage
Langage Toutes vos questions sur les scripts Perl en général. Avant de poster, veuillez consulter les FAQs perl, les cours Perl, les critiques de livres et les sources Perl.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Discussion fermée
 
Outils de la discussion
Publicité
'
Vieux 01/12/2008, 20h26   #41
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 487
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 487
Points : 31 592
Points : 31 592
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!!
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 01/12/2008, 20h45   #42
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 487
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 487
Points : 31 592
Points : 31 592
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 :
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 :
1
2
my $Repertoire = "C:/repertoire/djibril";
my @LesFichiers = ListersFichiers ($Repertoire);
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 08/12/2008, 10h32   #43
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 487
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 487
Points : 31 592
Points : 31 592
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
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 05/06/2009, 11h26   #44
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 487
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 487
Points : 31 592
Points : 31 592
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
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 05/06/2009, 17h36   #45
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 487
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 487
Points : 31 592
Points : 31 592
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 :
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;
}
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 10
Vieux 08/06/2009, 12h01   #46
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
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 :
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 :
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é
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé 00
Vieux 10/06/2009, 10h58   #47
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
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 :
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é
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé 00
Vieux 10/06/2009, 11h22   #48
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 487
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 487
Points : 31 592
Points : 31 592
Ok, c'est une bonne idée. Je l'ai rajouté dans les sources.
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 10/06/2009, 11h45   #49
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
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é
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé 00
Vieux 10/06/2009, 11h52   #50
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 487
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 487
Points : 31 592
Points : 31 592
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 12/06/2009, 14h35   #51
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 487
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 487
Points : 31 592
Points : 31 592
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
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 15/06/2009, 08h51   #52
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
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é
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé 00
Vieux 15/06/2009, 10h26   #53
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 487
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 487
Points : 31 592
Points : 31 592
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.
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 15/06/2009, 10h48   #54
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
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é
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé 00
Vieux 15/06/2009, 10h57   #55
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 487
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 487
Points : 31 592
Points : 31 592
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.
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 15/06/2009, 11h17   #56
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
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é
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé 00
Vieux 15/06/2009, 11h56   #57
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 487
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 487
Points : 31 592
Points : 31 592
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
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 15/06/2009, 12h37   #58
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 487
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 487
Points : 31 592
Points : 31 592
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.
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 15/06/2009, 15h13   #59
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 487
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 487
Points : 31 592
Points : 31 592
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
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 15/06/2009, 16h36   #60
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 633
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 633
Points : 3 079
Points : 3 079
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é
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé 00
Discussion fermée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h20.


 
 
 
 
Partenaires

Hébergement Web