[Sequanux-ml] Lot Sequanux-ml, Vol 1122, Parution 1
Marc SCHAEFER
schaefer at alphanet.ch
Dim 26 Nov 12:46:48 CET 2017
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