Thread Array::Utils: Wie Rückgabewert als Liste interpretieren (34 answers)
Opened by mika at 2018-11-18 12:25

haj
 2018-11-19 14:05
#189240 #189240
User since
2015-01-07
527 Artikel
BenutzerIn

user image
Äh, ja, es gibt viele Wege zum Ziel, und Längenfelder sind einer davon. Das map funktioniert hier aber eher zufällig, weil @x die "passenden" Werte hat.

Gegenbeispiel:
Code (perl): (dl )
my @x = (1,2,4711);
Damit wird ($_[0]..$_[$x-1]) zu (1..4711) und das map dürfte das gesamte @y verbrauchen.

Anstelle von
Code (perl): (dl )
my @x = map {shift} ($_[0]..$_[$x-1]);
brauchst Du entweder einen Array Slice:
Code (perl): (dl )
my @x = map {shift} (@_[0..$x-1]);
oder um zum Thema zurückzukehren, ein splice:
Code (perl): (dl )
my @x = splice(@_,0,$x);

View full thread Array::Utils: Wie Rückgabewert als Liste interpretieren