2013-11-06T19:54:26
Raubtier2013-11-06T10:00:56
clmsDer andere Fall, bei dem man die Klammern braucht -
wenn man mehrere Variablen auf einmal deklarieren und zuweisen will!
my ($a,$b) = (shift, shift)
 
 
Hilfe! Bei Code, der in ein und demselben Kommando 2x dasselbe Array ändert, bekomme ich Angst! Ich würde dringend davon abraten, sich sowas anzugewöhnen.
Hier habe ich das genommen, weil es dem ursprünglichen Beispiel am nächsten kommt.
Das 
(shift,shift) verwende ich in der Praxis nur extrem selten - wenn überhaupt, dann direkt als erste Zeile in einer Subroutine, wenn ich aus irgendwelchen Gründen die restlichen Argumente unbedingt in 
@_ belassen will. 
Ohnehin ist die erste Zeile in einer Subroutine die Stelle, wo ich bevorzugt 
my ($a,$b) = ... schreibe. Sonst spendiere ich eher pro Variable ein eigenes my und eine eigene Zeile.