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

uninitialized value

18 réponses
Avatar
Jo Engo
Bonjour,

Je tente de débugger webcollage de xscreensaver, c'est du perl, car il me
sort l'erreur suivante :

Use of uninitialized value $id in concatenation (.) or string at /usr/lib/
xscreensaver/webcollage line 2159.

or voici les lignes 2158 et 2159 :

my ($id) = ($img =~ m@/\d+/(\d+)_([\da-f]+)_@si);
my ($page) = "https://www.flickr.com/photos/$user/$id/";

$id me semble bel et bien être initialisé, non ??

Il n'y a pas j'espère de goto en perl, alors ¿que pasa?

j'xposte avec fcolc et mets le suivi sur fcl.perl, ce dernier donnant
l'air d'être déerté
--
ŒUVRE DE FOI

P : T'es en train de nous chier un chapelet !
M : Ouais... Et le plus dur, c'est de faire la croix...

8 réponses

1 2
Avatar
Jo Engo
Le Mon, 24 Jun 2019 19:53:55 +0000, Nicolas George a écrit :
Jo Engo , dans le message
<pan$bd161$c8240b45$4aea2fd8$, a écrit :
http:// ne matche pas la regesp

Au pif, https?:// devrait débloquer la situation.

I don't think so.
En fait $img est défini là :
foreach my $chunk (split (/n/, $body)) {
my ($img) = ($chunk =~ m@"displayUrl": *"(.*?)"@six);
next unless defined ($img);
$img =~ s///gs;
$img = "//" unless ($img =~ m@^/@s);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$img = "http:$img" unless ($img =~ m/^http/s);
je crois que la couille est là où j'ai souligné.
--
Je n'ai pas souvent assisté à des course de spermatozoïdes, mais j'ai
donné beaucoup de départs.
-+- Olivier de Kersauson -+-
Avatar
Jo Engo
Le Mon, 24 Jun 2019 20:08:56 +0000, Jo Engo a écrit :
$img = "//" unless ($img =~ m@^/@s);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Remplacé par :
$img = "//$img" unless ($img =~ m@^/@s);
qui me semble plus disons logique et quine, je n'ai plus d'erreur (mais
je ne comprends pas le unless, qui me fait un cours ?)
--
Boarf, tu sais, pour mon Canon un sac poubelle suffit...

Pierrôt... Chuis choqué la tu vois :)
-+- Daniel, sur fr.rec.photo -+-
Avatar
Jo Engo
Le Mon, 24 Jun 2019 20:08:56 +0000, Jo Engo a écrit :
En fait $img est défini là :
foreach my $chunk (split (/n/, $body)) {
my ($img) = ($chunk =~ m@"displayUrl": *"(.*?)"@six);
next unless defined ($img);
$img =~ s///gs;
$img = "//$img" unless ($img =~ m@^/@s);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$img = "http:$img" unless ($img =~ m/^http/s);
je crois que la couille est là où j'ai souligné.

Bon maintenant j'ai ça :
http://https://live.staticflickr.com/31337/48119239236_d04d39c289.jpg ne
matche pas la regesp
Use of uninitialized value $id in concatenation (.) or string at ./
webcollage line 2162.
NB j'ai tapé :
my $id ;
unless (($id) = ($img =~ m@/d+/(d+)_([da-f]+))) {
print STDERR "$img ne matche pas la regespn";
au lieu de "$img doesn't match regexp"
la correction est toujours à faire dans les lignes que j'ai citée ci-
dessus, mais là je ne sais pas faire.
--
M U S E
U M E S
S E M U
E S U M
-- Schulz, Rémi
Avatar
Olivier Miakinen
Le 25/06/2019 10:52, Jo Engo a écrit :
Bon maintenant j'ai ça :
http://https://live.staticflickr.com/31337/48119239236_d04d39c289.jpg ne

^^^^^^^^^^^^^^^
C'est volontaire ?
--
Olivier Miakinen
Avatar
espie
In article <pan$7bd91$6bfbb728$77e7d8a$,
Jo Engo wrote:
Le Mon, 24 Jun 2019 20:08:56 +0000, Jo Engo a écrit :
$img = "//" unless ($img =~ m@^/@s);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Remplacé par :
$img = "//$img" unless ($img =~ m@^/@s);
qui me semble plus disons logique et quine, je n'ai plus d'erreur (mais
je ne comprends pas le unless, qui me fait un cours ?)

Ben c'est de l'anglais... unless c'est l'inverse de if.
Et c'est une garde en fin de ligne, donc syntaxe "inversee".
En vrai, il n'y a pas besoin des parentheses du coup:
$img = "//$img" unless $img =~ m@^/@s;
Avatar
Olivier Miakinen
Pendant que j'y pense...
Le 25/06/2019 à 10:52, Jo Engo a écrit :
[...] ne matche pas la regexp [...]

Si tu as des problèmes de mise au point des regexp, et que ce
n'est pas dû à un problème de syntaxe perl, tu peux poser ta
question expurgée du code perl dans fr.comp.lang.regexp
--
Olivier Miakinen
Avatar
Jo Engo
Le Tue, 25 Jun 2019 14:49:05 +0200, Olivier Miakinen a écrit :
Si tu as des problèmes de mise au point des regexp, et que ce n'est pas
dû à un problème de syntaxe perl, tu peux poser ta question expurgée du
code perl dans fr.comp.lang.regexp

Merci mais il y a rien de difficile ou d'excitant concerbnant les regexp,
il y a juste un problçme avec le code p.e.r.l. :)
j'en suis là :
{ $img = "//$img" unless ($img =~ m@^/@s);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$img = "http:$img";} unless ($img =~ m/^http/s);
estce correct syntaxiquement ? parce que j'intuite que ça résout mon
problème (là le blob ajoute http:// devant https://good.uri ce qui n'est
pas ce que je souhaite.)
--
Il y a trois types de mathématiciens, ceux qui savent compter et ceux
qui ne savent pas.
Avatar
Jo Engo
Le Tue, 25 Jun 2019 14:47:23 +0000, Jo Engo a écrit :
{ $img = "//$img" unless ($img =~ m@^/@s);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$img = "http:$img";} unless ($img =~ m/^http/s);
estce correct syntaxiquement ?

J'ai galéré à débusquer le loup, en fait j'ai fait comme qui dirait
l'inverse, parce que je n'ai pas compris pourquoi ça voulait pas (et perl
me trouvait des erreurs 1000 lignes plus loin). Vous auriez pu m'aider
sur ce coup là les perliers :)
--
Avant de choisir le prénom d'un garçon, pensez toujours à la femme qui
aura a le murmurer plus tard.
-+- Jules Barbey D'Aurevilly (1808-1889) -+-
1 2