HTML & CSSJavascriptPerlPHPIndex | Download | Suche 

SYNTAX
Allgemeines | Konstanten | Variablen | Zeichenketten | Zahlen | Operatoren | Kontrollstrukturen | Funktionen, Subs | Bibliotheken | Ein- und Ausgabe | Dateien lesen& schreiben | Suchen& ersetzen | reguläre Ausdrücke | Module
WEITERES Beispiel- Perlscripts | Links zum Thema Perl

Operatoren



Zuweisungsoperator

Mit dem Zuweisungsoperator = wird z.B. einer Variablen ein Wert zugewiesen (Zahl oder Zeichenkette): $beispiel = "11 fliegende Wildschweine"; $beiSPiel = 11;

Vergleichsoperatoren

Mit Vergleichsoperatoren werden zwei Werte verglichen, z.B. der Inhalt einer Variable mit einer festen Grösse. Perl unterscheidet zwischen Operatoren für Zahlen und Zeichenketten.

ZAHLENZEICHENKETTEN VERGLEICH
==eq Gleichheit (eq = equal)
!=ne Ungleichheit
>gt grösser als (Strings: alphabetisch weiter hinten) (gt = greater than)
>=ge grösser oder gleich als
<lt kleiner als (Strings: alphabetisch weiter vorne) (lt = lower than)
<=le kleiner oder gleich als
=~ Skalare (Zahlen oder Zeichenketten) miteinander verglichen (siehe Suchen und Ersetzen).
 cmp 'liefert -1,0,1 je nachdem, ob das linke Argument kleiner,gleich oder größer als das rechte Argument ist.'
Beispiele

if($SinnDesLebens == 42) { print "Sie haben das Leben verstanden!\n" };
if($SinnDesLebens != 42) { print "Sie haben nix kapiert vom Leben!\n" };
if($SinnDesLebens > 42) { print "Sind Sie wahnsinnig?\n" };
if($SinnDesLebens < 42)
 { print "Sie sind eine Nummer zu klein für das Leben!\n" };if($Alter >= 18)
 { print "Sie dürfen diesen Schwachsinn hier sehen!\n" };if($Alter <= 17)
 { print "Sie sind nicht mal alt genug für diesen Schwachsinn!\n" };
if($Passwort eq "Hexasex")
 { print "Sie haben Zugang zum Sex im hexadezimalen Raum!\n" };
if($Passwort ne "Hexasex")
 { print "Haben Sie lieber eindimensionalen Sex daheim im Bett!\n" };
if($Name gt "Y") { print "Sie sind aber auch immer der Letzte!\n" };
if($Name lt "B") { print "Sie sind aber auch immer der Erste!\n" };
if($Name ge "ZZ Top")
 { print "Ihre Lieblingsband ist ZZ Top oder was ganz Perverses!\n" };
if($Name le "Abba")
 { print "Ihre Lieblingsband ist Abba oder was ganz Perverses!\n" };
if($Alter =~ /[^0-9]/) { print "Das ist ja gar keine Zahl!\n" };


Berechnungsoperatoren

OPERATOR BESCHREIBUNG
+positives Vorzeichen (unär)
-negatives Vorzeichen (unär)
+Addition (binär)
-Subtraktion (binär)
*Multiplikation
/Division
%Restwert einer Division (Modulo) (Bsp.:16:3 -> Modulo= 1)
**Potenzbildung
++Inkrement
--Dekrement

'Der In-(De-)krement-Operator erhöht (verringert) den Wert des Operanden um 1. Steht der Operator vor der Variablen, so wird zuerst die Inkrementierung (Dekrementierung) und anschließend die Auswertung der Variablen durchgeführt, umgekehrt ist es, wenn der Operator hinter der Variablen steht.' (Zitat SelfHTML)

Beispiel :

#!/usr/local/bin/perl -w

@array = (10,20,30);
$i = 1;
print "$array[++$i]\n";
$i = 1;
print "$array[$i++]\n";

ergibt:

30
20
Beispiele:

$Hundertlasser = 83 + 17;
$Hundertlasser = 450 / 2 - 125;
$Hundertlasser = 10 * (2 + 8);
$x = $Hundertlasser % 4;
if($x == 0)
 { print $Hundertlasser, " ist ein Schaltjahr\n" }

/* Besondere Notationen: */

$Zahl = 100;
$Zahl++;      # $Zahl um 1 erhoehen
$Zahl--;      # $Zahl um 1 erniedrigen
$Zahl += 10;  # $Zahl um 10 erhoehen
$Zahl -= 10;  # $Zahl um 10 erniedrigen

Punkt vor Strich!

Additionen oder Subtraktionen abkürzen:
$i++; -> $i = $i + 1;
$i--; ist -> $i = $i - 1;
$i += 10; -> $i = $i + 10;
$i -= 10; -> $i = $i - 10;



Logische Operatoren

&& : UND
|| : ODER

(Werden gebraucht, um Bedingungen miteinander zu verknüpfen [bedingte Anweisungen, Schleifen].)



Bit-Operatoren

>> verschiebt Bits nach rechts
<< verschiebt Bits nach links
& definiert in einer Bitmaske eine Und-Bedingung
| definiert in einer Bitmaske eine inklusive Oder-Bedingung
^ definiert in einer Bitmaske eine exklusive Oder-Bedingung
! definiert in einer Bitmaske eine Negations-Bedingung
~ definiert in einer Bitmaske eine Komplementär-Bedingung


Zeichenketten-Operatoren

. : verknüpft Strings miteinander
x : Wiederholt einen String

(Beispiele)

Rangfolge

  1. , (Aneinanderreihung)
  2. = += -= &= ^= |= (Zuweisung)
  3. ?: ( Entweder-Oder-Bedingung)
  4. .. (Bereichsdefinition in Listen)
  5. || (logisches Oder)
  6. && (logisches Und)
  7. | ^ (bitweises Oder - inklusiv/exklusiv)
  8. & (bitweises Und)
  9. == != eq ne (Gleichheit/Ungleichheit)
  10. < <= > >= lt le gt ge (Vergleich größer/kleiner)
  11. << >> >> (Verschieben von Bits)
  12. + - . (Addition, Subtrakion, Zeichenkettenaddition)
  13. * / % x (Multiplikation, Division, Modulo-Division, Zeichenkettenwiederholung)
  14. =~ !~ (Übereinstimmung bei regulären Ausdrücken)
  15. ** (Potenzierung)
  16. ! ~ - (Bitoperatoren)
  17. ++ -- (Inkrementieren, Dekrementieren)

Mit Hilfe von Klammern () kann die Reihenfolge beeinflusst werden, wie im 'normalen' Rechnen.