Thread substr_count in perl
(29 answers)
Opened by norman at 2004-07-14 14:52
[quote=sri,15.07.2004, 16:43]
Code: (dl
)
my $count = () = qw(a b c); Code: (dl
)
my $count = @list = qw(a b c); Im ersten Fall ist es eine Listenzuweisung, im zweiten Fall ist es eine Array-Zuweisung. Die Listenzuweisung gibt (im skalaren Kontext) die Anzahl der Elemente rechts zurueck (wie im von pq zitierten Text steht). Die Array-Zuweisung gibt die Liste als Array zurueck, und wenn das dann im skalaren Kontext steht, wird die Anzahl der Elemente zurueckgegeben, was effektiv dasselbe ist wie im ersten Fall. Ich finde das jetzt gar nicht mehr unlogisch. Ich stimme Dir uebrigens nicht ganz zu bei dem, was Du weiter oben geschrieben hast. Eine Liste ist nicht "nur" ein Kontext, sondern auch ein Ding. Du hast wohl Recht, indem Du sagst, dass wir in Wirklichkeit den Komma-Operator benutzt haben und es "Liste" genannt haben. Ein besseres Beispiel waere gewesen: Code: (dl
)
1 sub ich_gebe_eine_liste { return "warner", "brosers"; } Hierbei handelt es sich in der Tat um eine Liste und nicht um den Komma-Operator, denn eine Subroutine gibt immer eine Liste zurueck. So, nun haben wir das wohl genug durchgekaut. Ich hoffe, dass norman nicht zu irritiert ist und wir ihm eine Loesung fuer sein Problem bieten konnten. Lieblingsmodule:
![]() ![]() |