Thread [HTML::Element] attr_get_i meldet "undefined value" (5 answers)
Opened by Thoma at 2016-02-16 11:26

Linuxer
 2016-02-16 11:46
#183919 #183919
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
Stumpf nach Perldoc gelesen

perldoc HTML::Element
look_down
Code: (dl )
1
2
  @elements = $h->look_down( ...criteria... );
$first_match = $h->look_down( ...criteria... );

This starts at $h and looks thru its element descendants (in pre-order), looking for elements matching the criteria you specify. In list context, returns all elements that match all the given criteria; in scalar context, returns the first such element (or undef, if nothing matched).

(Kursiv- u. Fettdruck von mir.)

Wenn look-down() nichts findet, kommt da also ein undef von look-down()zurück, auf das Du dann attr_get_i() anwendest, was dann zu der Meldung führt.

Ich würde also tippen:
Die Ergebnisliste von look-down() zwischenspeichern und auf die Listenelemente, so welche da sind, dann attr_get_i() anwenden...

Worin nun genau der Unterschied zwischen Deiner Variante "im Main" und "in der Sub" liegt, kann ich mangels Glaskugel nicht beurteilen.

Und wenn ich in der Perldoc zu look-down() weiterlese, gewinne ich den Eindruck, dass sich Deine Suchkriterien widersprechen; speziell das Kriterium für "href" und die Code-Referenz.

edit: Denkfehler gestrichen.
Last edited: 2016-02-16 14:34:37 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread [HTML::Element] attr_get_i meldet "undefined value"