# Perl - Operatoren

Die folgenden Abschnitte beinhalten einen Überblick über die wichtigsten Operatoren in Perl. Für eine vollständige Liste sei auf entsprechende Dokumentation hingewiesen.

### Zuweisung

Die Zuweisung eines Wertes zu einer Variablen geschieht durch das "`=`"-Zeichen. Wie in C gibt es in Perl eine verkürzte Schreibweise für Operationen, die den Wert einer Variablen verändern. So kann z.B. eine Multiplikation statt
`$i = $i * 5;`
auch
`$i *= 5;`
geschrieben werden.

### Bit-Operatoren

- "`&`" bitweises UND
- "`|`" bitweises ODER
- "`^`" bitweises XOR
- "`~`" bitweises Komplement
- "`<<`" bitweise Verschiebung des linken Arguments um eine (Ganz-) Zahl nach links (rechtes Argument)
- "`>>`" bitweise Verschiebung des linken Arguments um eine (Ganz-) Zahl nach rechts (rechtes Argument)

### Logik-Operatoren

- "`!`" logisches NOT
- "`&&`" logisches UND
- "`||`" logisches ODER
- "`not`" logisches NOT
- "`and`" logisches UND
- "`or`" logisches ODER
- "`xor`" logisches XOR

Anmerkung : die letzten vier Operatoren besitzen die gleiche Funktionalität wie die entprechenden symbolischen Operatoren `!`,`&&` und `||`, aber eine andere Priorität.

### Prioritäten

Hier nun eine Tabelle über alle Perl-Operatoren, geordnet von der höchsten Priorität abwärts mit Angabe der jeweiligen Assoziativität:

     Assoziativität              Operator
    -------------------------------------------------------------------------
         links         Terme (Variablen, geklammerte Ausdrücke,...)
         links         ->
           -           ++  --
         rechts        **
         rechts        !  ~  \   +  - (unär)
         links         =~   !~
         links         *  /  %  x
         links         .  +  -  (binär)
         links         <<  >>
           -           unäre Operatoren wie Funktionen mit 1 Argument
           -           <  >  <=  >=  lt  gt  le  ge
           -           ==  !=  <=>  eq  ne  cmp
         links         &
         links         |  ^
         links         &&
         links         ||
           -           ..
         rechts        ?:
         rechts        =  +=  -=  *=  usw.
         links         ,  =>
           -           Listenoperatoren
         links         not
         links         and
         links         or  xor

Autor: Eike Grote | Letzte Änderung: 03.11.2004