OVH Cloud OVH Cloud

regex et espace

13 réponses
Avatar
Bibi69
Bonjour,
j'ai un texte dans lequel j'ai des "- "que je veux isoler.
Mais je n'arrive pas à faire reconnaitre l'espace :
/-/ marche mais me renvoie des choses en trop
/- / et /-\s/ ne renvoient rien
Une idée ?

3 réponses

1 2
Avatar
Paul Gaborit
À (at) Mon, 4 Dec 2006 17:00:52 +0000 (UTC),
(Marc Espie) écrivait (wrote):
Y a-t-il une difference entre
open(my $f, '<:encoding(iso-8859-1)', 'filename');

et
open(my $f, '<', 'filename');
binmode($f, ':encoding(iso-8859-1)');
?


Oui : le nombre de lignes de codes. ;-)

En fait, à ma connaissance, il n'y a pas de différence fonctionnelle.

Il y a peut-être une différence en performance avec un petit avantage
à la version en une ligne qui serait dû au fait que la mise en place
du filtre se fait en une seule fois mais ça ne doit pas être très
sensible... Ce serait peut-être plus sensible si on utilisait le
pragma 'open' pour mettre en place une chaîne de filtres par
défaut. Mais je n'en suis pas sûr du tout et je dis donc tout cela au
conditionnel !

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>

Avatar
Nicolas George
Paul Gaborit wrote in message :
En fait, à ma connaissance, il n'y a pas de différence fonctionnelle.

Il y a peut-être une différence en performance avec un petit avantage
à la version en une ligne qui serait dû au fait que la mise en place
du filtre se fait en une seule fois mais ça ne doit pas être très
sensible... Ce serait peut-être plus sensible si on utilisait le
pragma 'open' pour mettre en place une chaîne de filtres par
défaut. Mais je n'en suis pas sûr du tout et je dis donc tout cela au
conditionnel !


La vraie différence, à mon avis, et ce qui m'a conduit à parler de binmode
et pas de open, c'est simplement qu'on peut obtenir un filehandle autrement
qu'avec open. Déjà, je ne suis pas sûr qu'on puisse écrire
"-|:encoding(...)", et il n'y a aucune place pour indiquer de filtre dans un
appel à socket par exemple.

Avatar
Paul Gaborit
À (at) 04 Dec 2006 21:37:32 GMT,
Nicolas George <nicolas$ écrivait (wrote):
La vraie différence, à mon avis, et ce qui m'a conduit à parler de binmode
et pas de open, c'est simplement qu'on peut obtenir un filehandle autrement
qu'avec open.


...ou en récupérez-un déjà ouvert par quelqu'un d'autre. On peut donc
changer l'empilement des filtres à sa guise.

Déjà, je ne suis pas sûr qu'on puisse écrire
"-|:encoding(...)",


Ça marche.

et il n'y a aucune place pour indiquer de filtre dans un
appel à socket par exemple.


Certes.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>

1 2