[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