Thread Sinn Klammer bei my ($f) = shift (16 answers)
Opened by Gast200 at 2013-11-05 23:26

betterworld
 2013-11-07 15:37
#171894 #171894
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Der Punkt ist, dass die rechte Seite im Listenkontext ausgewertet wird. Von dieser Liste wird dann das erste Element zugewiesen.

Ich brauche das schon hin und wieder. Ein paar Beispiele fallen mir spontan ein:

Code (perl): (dl )
1
2
3
4
5
6
7
# Beispiel 1.
my ($x) = /(regex)/;
# (Ohne Listenkontext würde der Match etwas ganz anderes zurückgeben)

# Beispiel 2.
# in meiner perlscriptsammlung gefunden, zum parsen der ausgabe von mplayer -identify:
my ($width)  = map { /^ID_VIDEO_WIDTH=(\d+)$/  } @identify;


In beiden Fällen geht die Fehlerbehandlung sehr gut. Denn wenn nichts gefunden wird, ist die Variable undef.


Bei "= shift" macht die Klammer natürlich keinen Unterschied. Es liegt vermutlich am Coding Style des Autors.
Last edited: 2013-11-07 15:46:40 +0100 (CET)

View full thread Sinn Klammer bei my ($f) = shift