Auch wenn Perl eigentlich keine Sprache für numerische Berechnungen ist, steht doch eine Reihe von mathematischen Operatoren und Funktionen zur Verfügung.
+
" positives Vorzeichen (unär) -
" negatives Vorzeichen (unär) +
" Addition (binär) -
" Subtraktion (binär) *
" Multiplikation /
" Division %
" Rest einer Division (Modulo) **
" 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.
Beispiel :
|
|
Operatoren, die ihre Operanden in irgendeiner Weise miteinander vergleichen,
liefern im allgemeinen einen Wahrheitswert (oft als boolean bezeichnet)
zurück. Ein solcher hat die beiden möglichen Werte "wahr"
(true) und "falsch" (false). Perl kennt, im Gegensatz zu
einigen anderen Programmiersprachen, hierfür keinen eigenen
Datentyp, sondern setzt "1
" (Ziffer 1) als
"wahren" Wert und "" (Leerstring) als "falschen" Wert.
==
" liefert wahr bei Gleichheit !=
" liefert wahr bei Ungleichheit >
" liefert wahr, falls linkes Argument
größer als rechtes Argument <
" liefert wahr, falls linkes Argument
kleiner als rechtes Argument >=
" liefert wahr, falls
linkes Argument
größer oder gleich rechtem Argument <=
" liefert wahr, falls
linkes Argument
kleiner oder gleich rechtem Argument <=>
" liefert -1, 0 oder 1 je
nachdem, ob linkes Argument
kleiner, gleich oder größer als
rechtem Argument Achtung: Diese Vergleiche gelten nur im numerischen Kontext, d.h., wenn zwei Zahlen verglichen werden. Zum Vergleich von Zeichenketten sehen die Operatoren anders aus.
abs($x)
Absolutwert von $x
atan2($x,$y)
Arcustangens von $x/$y
(zwischen -pi und
+pi, wobei pi=3,14159...)
cos($x)
Cosinus von $x
(im Bogenmaß)
exp($x)
Exponentialfunktion ("e hoch $x
", wobei
e=2,71828...)
log($x)
Natürlicher Logarithmus von $x
(Achtung: $x
muß positiv sein. Außerdem gilt:
$x == log(exp($x))
für alle
$x
)
sin($x)
Sinus-Funktion von $x
(im Bogenmaß)
sqrt($x)
Quadratwurzel aus $x
(Achtung: $x
muß positiv sein)
Mit Ausnahme von atan2()
können die Funktionen auch ohne
explizites Argument geschrieben werden; sie werden dann auf den
jeweiligen Wert von $_
angewandt.
Anmerkung: Weitere mathematische Funktionen finden sich im sogenannten POSIX-Modul, das zur Standard-Bibliothek von Perl gehört. Beispiel:
|
(Pseudo-)Zufallszahlen werden in Perl mit der Funktion
rand()
erzeugt.
Ohne Argument liefert sie Werte zwischen
0 und 1, ansonsten (Gleitkomma-) Zahlen zwischen 0 und dem Wert des
Arguments. Um nicht jedesmal die gleiche Zahlenreihe zu erhalten,
wird die Funktion srand()
eingesetzt, die den
Zufallszahlengenerator mit einer Zahl (Funktionsargument)
initialisiert. Ohne Argument wird srand(time)
ausgeführt, d.h. als Initialisierung dient die Zahl der
Sekunden seit dem 1.1.1970.
Beispiel:
|
|
Bei mehrmaligem Abarbeiten des Skriptes ergeben sich nur bei den
Zahlen der Gruppe (2)
jeweils die gleichen Werte.
Autor: Eike Grote | Version: 2.07 (27.10.2019) |