Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[hs] emacs,perl et « indentation »

6 réponses
Avatar
Philippe Delavalade
Bonjour.

Dans emacs, lorsque j'écris un script perl, les « indentations » (je ne
retrouve pas le mot français) se font correctement sauf dans certains cas
dont un exemple suit :

(my $txt =~ m/machin/) && (my $truc = $');

Je présume que le problème vient du symbole "'". Après ce genre de lignes,
le système d'indentation automatique ne fonctionne plus.

Quelqu'un connaîtrait-il une parade ? Vaudrait-il mieux que je m'inscrive
sur une liste consacrée à perl ou à emacs ?

Merci d'avance.

--
Ph. Delavalade

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20130930132914.GA5618@messier31

6 réponses

Avatar
Dominique Asselineau
Philippe Delavalade wrote on Mon, Sep 30, 2013 at 03:29:14PM +0200
Bonjour.

Dans emacs, lorsque j'écris un script perl, les « indentations » (je ne
retrouve pas le mot français) se font correctement sauf dans certains cas
dont un exemple suit :

(my $txt =~ m/machin/) && (my $truc = $');

Je présume que le problème vient du symbole "'". Après ce genre de lignes,
le système d'indentation automatique ne fonctionne plus.



Écrire "$'", c'est plus robuste. Ça résiste mieux à une interprétation
non souhaitée.


Quelqu'un connaîtrait-il une parade ? Vaudrait-il mieux que je m'inscrive
sur une liste consacrée à perl ou à emacs ?



Voir s'il existerait des syntaxes de variables, peut-être moins
concises évidemment mais risquant moins les effets collatéraux.

dom
--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Philippe Delavalade
Le lundi 30 septembre à 15:29, Philippe Delavalade a écrit :
Bonjour.

Dans emacs, lorsque j'écris un script perl, les « indentations » (je ne
retrouve pas le mot français) se font correctement sauf dans certains cas
dont un exemple suit :

(my $txt =~ m/machin/) && (my $truc = $');

Je présume que le problème vient du symbole "'". Après ce genre de lignes,
le système d'indentation automatique ne fonctionne plus.

Quelqu'un connaîtrait-il une parade ? Vaudrait-il mieux que je m'inscrive
sur une liste consacrée à perl ou à emacs ?

Merci d'avance.



Merci pour les réponses mais malheureusement aucune ne fonctionne comme
j'aimerais :-)

Avec « use english » le module n'est pas trouvé même après un "cpan
english".

Je mets ci-dessous un exemple qui ne fonctionne pas (pour moi) :

#!/usr/bin/perl -w

use strict;

$ = "n";
my $txt = 'Hello World !';

main
{
if(1)
{
($txt =~ m/Hello /) && (print "$'");
}
print "Bye";
}

exit(0);

Si je passe la commande indent-region après avoir sélectionné tout le
fichier, le résultat ne va pas. Peut-être faudrait-il que je rajoute des
lignes dans .emacs...

Merci pour les tuyaux.

--
Ph. Delavalade

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Yves Rutschle
On Tue, Oct 01, 2013 at 04:04:53PM +0200, Philippe Delavalade wrote:
Avec « use english » le module n'est pas trouvé même après un "cpan
english".



C'est pas ce que j'ai dit, j'ai dit:

use English
^
|
'E', 'Grand Heu'. Y'a qu'un bit de différence, mais il est
important.

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Dominique Asselineau
Philippe Delavalade wrote on Tue, Oct 01, 2013 at 04:04:53PM +0200
Le lundi 30 septembre à 15:29, Philippe Delavalade a écrit :
> Bonjour.
>
> Dans emacs, lorsque j'écris un script perl, les « indentations » (je ne
> retrouve pas le mot français) se font correctement sauf dans certains cas
> dont un exemple suit :
>
> (my $txt =~ m/machin/) && (my $truc = $');
>
> Je présume que le problème vient du symbole "'". Après ce genre de lignes,
> le système d'indentation automatique ne fonctionne plus.
>
> Quelqu'un connaîtrait-il une parade ? Vaudrait-il mieux que je m'inscrive
> sur une liste consacrée à perl ou à emacs ?
>
> Merci d'avance.

Merci pour les réponses mais malheureusement aucune ne fonctionne comme
j'aimerais :-)

Avec « use english » le module n'est pas trouvé même après un "cpan
english".

Je mets ci-dessous un exemple qui ne fonctionne pas (pour moi) :

#!/usr/bin/perl -w

use strict;

$ = "n";
my $txt = 'Hello World !';

main
{
if(1)
{
($txt =~ m/Hello /) && (print "$'");
}
print "Bye";
}

exit(0);

Si je passe la commande indent-region après avoir sélectionné tout le
fichier, le résultat ne va pas.



En effet mais ça n'est pas lié à la variable $' car en supprimant la
ligne qui la contient, ça ne marche toujours pas. Par contre si on
indente ligne à ligne (avec <tab>), ça marche, à condition toutefois
d'avoir forcé la variable $' à se trouver dans une chaîne. Les
chaînes du genre "C'est bon." ne posent pas de problème.

dom

--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Philippe Delavalade
Le mardi 01 octobre à 16:20, Yves Rutschle a écrit :
On Tue, Oct 01, 2013 at 04:04:53PM +0200, Philippe Delavalade wrote:
> Avec « use english » le module n'est pas trouvé même après un "cpan
> english".

C'est pas ce que j'ai dit, j'ai dit:

use English



Sorry ! I didn't see the uppercase :-)

--
Ph. Delavalade

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Philippe Delavalade
Le mardi 01 octobre à 16:20, Yves Rutschle a écrit :
On Tue, Oct 01, 2013 at 04:04:53PM +0200, Philippe Delavalade wrote:
> Avec « use english » le module n'est pas trouvé même après un "cpan
> english".

C'est pas ce que j'ai dit, j'ai dit:

use English
^
|
'E', 'Grand Heu'. Y'a qu'un bit de différence, mais il est
important.



Là, ça devient OK !

Merci beaucoup.

--
Ph. Delavalade

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/