Thread String bearbeitung - nach leerzeichen alles entfernen (31 answers)
Opened by tobyyy at 2010-01-14 16:43

murphy
 2010-01-15 20:06
#130606 #130606
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
2010-01-15T14:05:44 sid burn
[...]
Also letztendlich weiß man schon die Länge. Bei "($string) = split ..." kommen nur maximal 2 Elemente zurück.
Insgesamt weiß ich aber auch nicht warum Murphy diesen hinweis gegeben hat.

Genau, ich wollte einfach anmerken, dass dem so ist, weil ich es nicht von sich aus offensichtlich finde, dass Perl diese Optimierung macht.

Daraus folgt zum einen, dass die Aussage, man wisse nicht, wie oft gesplittet würde, einfach nicht stimmt und zum anderen, dass es durchaus einen Unterschied macht, ob man my ($x) = split ... oder my ($x, undef) = split ... oder ähnliches schreibt – mit jeder angehängten Dummyvariable oder undef wird die automatisch ermittelte Maximalzahl von Splits erhöht, was eventuell etwas weniger effizient ist.

Natürlich ist das nicht gerade unglaublich wichtig, aber beim Programmieren kommt es eben immer wieder auch auf Kleinigkeiten an und selbst wenn es hier vielleicht irrelevant erscheinen mag, so findet ein zufälliger Leser, dem dieses Detail über split noch nicht bewusst war, es vielleicht einfach interessant.
When C++ is your hammer, every problem looks like your thumb.

View full thread String bearbeitung - nach leerzeichen alles entfernen