[Linz-pm] Inline::Perl5 und Mojo::Collections

Stefan Seifert nine at detonation.org
Mon Aug 8 14:42:06 PDT 2016


On Montag, 8. August 2016 20:06:37 CEST WFB wrote:

> Mein Problem ist das $dom.find. Das gibt ein Mojo::Colection Objekt zurück.
> In perl5 greife ich dann mit $dom.find('CSS Selector')->[0] auf das erste
> gefundene Element zu, dass dann wieder ein Mojo::DOM Objekt ist. Folgendes
> ist also erlaubt:
> $dom.find('irgendwas')->[0].find('was anderes')->[0]...
> Mit Inline::Perl5 funktioniert das nicht:
> $dom.find('irgendwas').[0].find(...) gibt den Fehler:

Du meinst $dom.find('irgendwas')[0].find(...). In Perl 6 gibt es keine 
Unterscheidung zwischen Array und Array Referenz mehr. my $a = [1, 2, 3]; say 
$a[1] funktioniert einfach so.

Da Mojo::DOM::find aber kein Array, sondern ein Mojo::Collection Objekt 
zurückliefert, kannst du nicht direkt indizieren. Aber es hat eine to_array 
Metdho. So sollts gehn:
$dom.find('irgendwas').to_array[1]

Stefan


More information about the Linz-pm mailing list