[Sequanux-ml] Lot Sequanux-ml, Vol 1122, Parution 1

Jean Luc Rotschi jeanluc.rotschi at dbmail.com
Dim 26 Nov 23:37:02 CET 2017


Eh oui, C'était ça.

le defined @ (); il fallait ôter defined.

Bon, vu le nombre d'autres messages, j'abandonne

Mais un grand merci à ceux qui ont répondu

Perl ce sera pour une autre fois. Je ne veux pas me faire mal aux cheveu
(surtout qu'il en reste peu)

Bonsoir !


Marc SCHAEFER:
> On Sun, Nov 26, 2017 at 12:00:01PM +0100, sequanux-ml-request at sequanux.org wrote:
>> En appelant  ale ( programme de panorama) sur la console : /usr/bin/ale
>>
>> j'obtiens un magnifique message d'erreur:
>>
>> Can't use 'defined(@array)' (Maybe you should just omit the defined()?)
>> at /usr/bin/ale line 45.
> "Ne pas utiliser defined(@array)' (supprimer le defined(), ligne 45"
>
> De mémoire, n'est-ce pas un simple warning ?
>
> Perl a modifié la syntaxe du langage et des choses qu'on écrivait comme:
>
> if (defined(@array)) {
>
> s'écrivent plus simplement
>
> if (@array) {  # convertit en scalaire, la longueur du tableau, si
>                # non nulle, exécuter
>
> Si ça plante à cause de ça (étonnant), faire:
>
>    # devenir root: sudo -s; su -
>
>    # assurer que si /usr/bin/ale est en package, une mise à jour du
>    # package ne sabotera pas la modification locale; si /usr/bin/ale n'est pas
>    # en packages, fera une erreur
>    # NB: si en package, cela veut dire que c'est maintenant votre
>    # responsabilité d'assurer qu'en cas de mise à jour de sécurité,
>    # vous êtes correct, faire un
>    #    diff /usr/bin/ale.distrib /usr/bin/ale
>    # pour voir que changer dans /usr/bin/ale
>    # INUTILE si pas en package (erreur)
>    dpkg-divert --rename /usr/bin/ale
>
>    cp -a /usr/bin/ale.distrib /usr/bin/ale
>
>    # faire la correction
>    sed --in-place 's/if (defined(@array)) {/if (@array) {/g' /usr/bin/ale



Plus d'informations sur la liste de diffusion Sequanux-ml