Die elementarsten Variablen in Perl sind die skalaren Variablen. Skalare Variablen können Zahlen und Strings beinhalten und, je nach Kontext, werden sie als Zahlen oder Strings interpretiert. Vor dem eigentlichen Namen muss immer ein $ -Zeichen stehen. Im folgenden Beispiel
$priority = 9;
wird der Variablen $priority den Wert 9 zugeordnet, es ist aber auch möglich der genau gleichen Variablen einen String zuzuordnen:
$priority = 'high';
Perl akzeptiert auch Zahlen als Strings:
$priority = '9'; $default = '0009';
Damit können problemlos auch arithmetische Operationen ausgeführt werden.
Variablennamen können aus Buchstaben, Zahlen und Unterstrich zusammengesetzt werden. Sie sollten jedoch nicht mit einer Zahl beginnen und die Variable $_ hat eine spezielle Bedeutung. Perl unterscheidet zwischen Gross- und Kleinschreibung, dh. $a und $A sind verschieden.
Perl verwendet alle gebräuchlichen C-Operatoren.
$a = 1 + 2; # Addiere 1 und 2 und speichere Resultat in $a $a = 3 - 4; # Subtrahiere 4 von 3 ... $a = 5 * 6; # Multipiziere 5 und 6 $a = 7 / 8; # Dividiere 7 mit 8 ($a = 0.875) $a = 9 ** 10; # Neun hoch zehn $a = 5 % 2; # % MOD 2 ++$a; # Inkrement $a, Rückgabe von $a $a++; # Rückgabe von $a, Inkrement $a --$a; # Dekrement $a and then return it $a--; # Return $a and then decrement it
Für Strings gibt es unter anderem:
$a = $b . $c; # Konkateniere $b und $c $a = $b x $c; # Füge $b $c-mal zusammen
Zuweisungen:
$a = $b; # $a wird $b $a += $b; # $a wird um $b vergrössert $a -= $b; # $a wird um $b verkleinert $a .= $b; # $a wird mit $b konkateniert
Bei der Zuweisung $a = $b macht Perl eine Kopie von $b und weist diese $a zu. Eine darauffolgende Aenderung von $b ändert $a nicht.
Weitere Operatoren sind im Manual beschrieben. Zugang zum Manual erhält man auch mit man perlop.
Folgende Programmzeilen sollen den Text "apples and pears" ausgeben. Wir wollen den Operator für Konkatenation verwenden:
$a = 'apples'; $b = 'pears'; print $a.' and '.$b;
Es wäre schöner, nur einen String im print statement zu verwenden, aber mit
print '$a and $b';
erhalten wir genau "$a and $b", was nicht unserem Wunsch entspricht. Die Verwendung von doppelten Anführungszeichen (") veranlasst Perl die Variablen aufzulösen (Interpolation) also schreiben wir:
print "$a and $b";
Daneben werden auch Spezialzeichen, wie newline und tab aufgelöst. \n ist ein Zeilenumbruch und \t ist ein Tabulator.
Wir schreiben das Hello-World-Programm um, sodass (a) der String einer Variablen zugeordnet wird und (b) diese Variable mit anschliessendem Zeilenumbruch ausgegeben wird. Wir benützen doppelte Anführungszeichen und nicht den Operator für Konkatenation.
ETH Zürich: ID/Systemdienste, Roland Dietlicher 6.2.98