je dois lire plusieurs fichiers ligne par ligne pour chercher les lignes contenant une chaine (tjrs en majuscules) STR.
Je me pose une question sur le moyen le plus rapide de le faire. est-ce
$line =~ /STR/ ou index($line,'STR') != -1
Si STR est une chaîne standard (ce n'est pas une expression dite rationnelle ou régulière), il vaut mieux utiliser 'index'.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
p_geni...
Paul Gaborit wrote:
Si STR est une chaîne standard (ce n'est pas une expression dite rationnelle ou régulière), il vaut mieux utiliser 'index'.
Il s'agit bien d'une chaîne standart une adresse IP du genre '127.0.0.1' je vais ajouter quelques lignes de code afin de comparer les performances (temps, ressources utilisées, etc...)
merci,
Pierre.
----- échangez opinions et commentaires dans les forums de discussion. http://www.usenetgratuit.com/
Paul Gaborit wrote:
Si STR est une chaîne standard (ce n'est pas une expression dite
rationnelle ou régulière), il vaut mieux utiliser 'index'.
Il s'agit bien d'une chaîne standart une adresse IP du genre '127.0.0.1'
je vais ajouter quelques lignes de code afin de comparer les performances
(temps, ressources utilisées, etc...)
merci,
Pierre.
-----
échangez opinions et commentaires dans les forums de discussion.
http://www.usenetgratuit.com/
Si STR est une chaîne standard (ce n'est pas une expression dite rationnelle ou régulière), il vaut mieux utiliser 'index'.
Il s'agit bien d'une chaîne standart une adresse IP du genre '127.0.0.1' je vais ajouter quelques lignes de code afin de comparer les performances (temps, ressources utilisées, etc...)
merci,
Pierre.
----- échangez opinions et commentaires dans les forums de discussion. http://www.usenetgratuit.com/
Il s'agit bien d'une chaîne standart une adresse IP du genre '127.0.0.1' je vais ajouter quelques lignes de code afin de comparer les performances (temps, ressources utilisées, etc...)
Raisons de plus pour utiliser 'index'. Le '.' (dans le numéro IP) est considéré comme un caractère spécial dans les regexp (il remplace n'importe quel caractère). Pour éviter cela, il faut utiliser Q.
Il s'agit bien d'une chaîne standart une adresse IP du genre '127.0.0.1'
je vais ajouter quelques lignes de code afin de comparer les performances
(temps, ressources utilisées, etc...)
Raisons de plus pour utiliser 'index'. Le '.' (dans le numéro IP) est
considéré comme un caractère spécial dans les regexp (il remplace
n'importe quel caractère). Pour éviter cela, il faut utiliser Q.
Il s'agit bien d'une chaîne standart une adresse IP du genre '127.0.0.1' je vais ajouter quelques lignes de code afin de comparer les performances (temps, ressources utilisées, etc...)
Raisons de plus pour utiliser 'index'. Le '.' (dans le numéro IP) est considéré comme un caractère spécial dans les regexp (il remplace n'importe quel caractère). Pour éviter cela, il faut utiliser Q.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
Nicolas George
Paul Gaborit wrote in message :
Raisons de plus pour utiliser 'index'. Le '.' (dans le numéro IP) est considéré comme un caractère spécial dans les regexp (il remplace n'importe quel caractère). Pour éviter cela, il faut utiliser Q.
D'un autre côté, on a probablement intérêt, dans l'exemple donné, à chercher b127.0.0.0b, ce qu'index n'est pas capable de faire.
Paul Gaborit wrote in message <r7u0gh2n0j.fsf@vaugirard.enstimac.fr>:
Raisons de plus pour utiliser 'index'. Le '.' (dans le numéro IP) est
considéré comme un caractère spécial dans les regexp (il remplace
n'importe quel caractère). Pour éviter cela, il faut utiliser Q.
D'un autre côté, on a probablement intérêt, dans l'exemple donné, à chercher
b127.0.0.0b, ce qu'index n'est pas capable de faire.
Raisons de plus pour utiliser 'index'. Le '.' (dans le numéro IP) est considéré comme un caractère spécial dans les regexp (il remplace n'importe quel caractère). Pour éviter cela, il faut utiliser Q.
D'un autre côté, on a probablement intérêt, dans l'exemple donné, à chercher b127.0.0.0b, ce qu'index n'est pas capable de faire.
Paul Gaborit
À (at) Mon, 19 Sep 2005 14:26:02 +0000 (UTC), Nicolas George <nicolas$ écrivait (wrote):
Paul Gaborit wrote in message :
Raisons de plus pour utiliser 'index'. Le '.' (dans le numéro IP) est considéré comme un caractère spécial dans les regexp (il remplace n'importe quel caractère). Pour éviter cela, il faut utiliser Q.
D'un autre côté, on a probablement intérêt, dans l'exemple donné, à chercher b127.0.0.0b, ce qu'index n'est pas capable de faire.
Certes... mais en poussant un peu plus loin, vu que c'est un fichier de log, on doit connaître de manière certaine la nature du b (espace, tabulation...) et dans ce cas 'index' redevient plus intéressant ;-)
En poussant encore plus loin, peut-être que l'adresse IP est toujours en début de ligne (ou à une position fixe) et dans ce cas... je vous trouver les solutions ;-)
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) Mon, 19 Sep 2005 14:26:02 +0000 (UTC),
Nicolas George <nicolas$george@salle-s.org> écrivait (wrote):
Paul Gaborit wrote in message <r7u0gh2n0j.fsf@vaugirard.enstimac.fr>:
Raisons de plus pour utiliser 'index'. Le '.' (dans le numéro IP) est
considéré comme un caractère spécial dans les regexp (il remplace
n'importe quel caractère). Pour éviter cela, il faut utiliser Q.
D'un autre côté, on a probablement intérêt, dans l'exemple donné, à chercher
b127.0.0.0b, ce qu'index n'est pas capable de faire.
Certes... mais en poussant un peu plus loin, vu que c'est un fichier
de log, on doit connaître de manière certaine la nature du b (espace,
tabulation...) et dans ce cas 'index' redevient plus intéressant ;-)
En poussant encore plus loin, peut-être que l'adresse IP est toujours
en début de ligne (ou à une position fixe) et dans ce cas... je vous
trouver les solutions ;-)
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) Mon, 19 Sep 2005 14:26:02 +0000 (UTC), Nicolas George <nicolas$ écrivait (wrote):
Paul Gaborit wrote in message :
Raisons de plus pour utiliser 'index'. Le '.' (dans le numéro IP) est considéré comme un caractère spécial dans les regexp (il remplace n'importe quel caractère). Pour éviter cela, il faut utiliser Q.
D'un autre côté, on a probablement intérêt, dans l'exemple donné, à chercher b127.0.0.0b, ce qu'index n'est pas capable de faire.
Certes... mais en poussant un peu plus loin, vu que c'est un fichier de log, on doit connaître de manière certaine la nature du b (espace, tabulation...) et dans ce cas 'index' redevient plus intéressant ;-)
En poussant encore plus loin, peut-être que l'adresse IP est toujours en début de ligne (ou à une position fixe) et dans ce cas... je vous trouver les solutions ;-)
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>