Thread Anzahl Elemente von ??? (4 answers)
Opened by Traceman at 2016-12-04 21:05

Raubtier
 2016-12-04 22:04
#185708 #185708
User since
2012-05-04
1076 Artikel
BenutzerIn
[default_avatar]
2016-12-04T20:05:56 Traceman
Code: (dl )
1
2
my @var1 = ($text->{'Contacts'}->{'SubscribedFolders'});
my $var2 = @var1;


Warum steht in $var2 nicht 3?


Das hier: $text->{'Contacts'}->{'SubscribedFolders'} ist eine Array-Referenz! Wenn du danach schreibst @var = ($arrayref);, dann wird durch die runden Klammern einfach nur eine Liste erstellt, die als einziges Element die Array-Referenz hat. D.h. die Länge von @var ist 1, nämlich die Array-Referenz. Beim Dumper ist es empfehlenswert, immer mit \ zu arbeiten, d.h. mach mal ein print Dumper(\@var1);, dann siehst du das Problem.

Die Lösung ist also: die Array-Referenz muss dereferenziert werden:

Code (perl): (dl )
my $laenge = @{$text->{'Contacts'}->{'SubscribedFolders'}};

View full thread Anzahl Elemente von ???