Kurzform |
Langform |
Bedeutung |
Kleines Beispiel |
$_ |
$ARG |
Enthält in Schleifen (z.B. bei der Suche in einer Liste mit foreach), wenn keine andere Variable angegeben wurde, den jeweils aktuellen Wert bzw. das jeweils aktuelle Argument. Wird von einigen Perl-Funktionen als Argument akzeptiert, d.h. den Funktionen muss kein expliziter Wert übergeben werden, wenn $_ als Argument gemeint ist. Enthält bei Operationen mit regulären Ausdrücken den jeweils aktuellen Wert. |
@Zahlen = (1..10);
foreach(@Zahlen) {
print $_, "\n";
} |
$1 , $2 usw. |
|
Enthält bei Operationen mit regulären Ausdrücken mit runden Klammern jeweils den Wert eines gemerkten Teilausdrucks. Nur lesbar, nicht änderbar. |
if(/from: (.*)/) {
$Absender = $1;
} |
$& |
$MATCH |
Enthält nach Anwenden eines regulären Ausdrucks den letzten Wert, auf den das Suchmuster passte. Nur lesbar, nicht änderbar. Die Verwendung dieser Variablen verlangsamt das gesamte Programm, daher wird die Benutzung von Profis nicht empfohlen. |
$_ = "Mann und Frau";
/und/;
print "$&\n"; |
$` |
$PREMATCH |
Enthält den Teil des Gesamtausdrucks vor dem letzten Wert, auf den das Suchmuster passte. Nur lesbar, nicht änderbar. Das ` ist das Accent-grave-Zeichen. Auf vielen Tastaturen Shift-Taste und Accent-Taste drücken, dann ein Leerzeichen tippen. Die Verwendung dieser Variablen verlangsamt das gesamte Programm, daher wird die Benutzung von Profis nicht empfohlen. |
$_ = "Mann und Frau";
/ und/;
print "$`\n"; |
$' |
$POSTMATCH |
Enthält den Teil des Gesamtausdrucks nach dem letzten Wert, auf den das Suchmuster passte. Nur lesbar, nicht änderbar. Das ' ist der einfache Apostroph. Die Verwendung dieser Variablen verlangsamt das gesamte Programm, daher wird die Benutzung von Profis nicht empfohlen. |
$_ = "Mann und Frau";
/und /;
print "$'\n"; |
$+ |
$LAST_PAREN_MATCH |
Enthält nach Anwenden eines regulären Ausdrucks mit Klammern den Inhalt der letzten Klammer. Nur lesbar, nicht änderbar. |
$_ = "Mann und Frau";
/([a-zA-Z]*) und ([a-zA-Z]*)/;
print "$+\n"; |
$. |
$NR $INPUT_LINE_NR |
Enthält die aktuelle Zeilennummer der zuletzt eingelesenen Datei. Im nebenstehenden Beispiel werden alle Zeilen einer Textdatei eingelesen und ausgegeben. Am Ende kann $. darüber Auskunft geben, wie viele Zeilen eingelesen wurden. |
open(DATEI, "<readme.txt");
while(<DATEI>)
{ print $_; }
print $., " Zeilen gelesen";
close(DATEI); |
$/ |
$RS INPUT_RECORD_SEPARATOR |
Enthält den eingestellten Eingabeseparator. Kann geändert werden - auch mehrere Zeichen sind erlaubt. Das nebenstehende Beispiel bewirkt, dass eine Eingabe von der Standardeingabe erst dann abgeschlossen ist, wenn der Anwender die Zeichenfolge ENDE eingibt und Return drückt.
Der voreingestellte Wert ist das Zeilenumbruchzeichen \n
|
$/ = "ENDE";
$DeinName = <STDIN>;
print $DeinName; |
$\ |
$ORS OUTPUT_RECORD_SEPARATOR |
Erlaubt die Zuweisung einer Zeichenfolge, die automatisch an jede Ausgabe mit print eingefügt wird. |
$\ = ";";
print "ein Wert"; |
$, |
$OFS OUTPUT_FIELD_SEPARATOR |
Erlaubt die Zuweisung einer Zeichenfolge, die automatisch an jeden Einzelwert angehängt wird, der mit print in Form mehrerer, durch Kommata getrennter Einzelwerte ausgegeben wird. |
$, = ",";
print "Wert","noch einer";
|
$" |
$LIST_SEPARATOR |
Erlaubt die Zuweisung einer Zeichenfolge, die automatisch an jeden Einzelwert außer dem letzten angehängt wird, wenn mit print eine Liste bzw. ein Array innerhalb einer Zeichenkette interpoliert ausgegeben wird. |
$" = "-";
@Liste = (1,2,3,4);
print "@Liste"; |
$| |
$OUTPUT_AUTOFLUSH |
Wenn diese Variable auf einen Wert ungleich 0 gesetzt wird, werden Ausgaben mit print nicht gepuffert, sondern erfolgen in dem Augenblick, wo die print -Anweisung interpretiert wird. Normalerweise puffert Perl Ausgaben, um sie dann blockweise auszugeben. |
$| = 1; |
$% |
$FORMAT_PAGE_NUMBER |
Siehe Funktion format. |
|
$= |
$FORMAT_LINES_PER_PAGE |
Siehe Funktion format. |
|
$- |
$FORMAT_LINES_LEFT |
Siehe Funktion format. |
|
$~ |
$FORMAT_NAME |
Siehe Funktion format. |
|
$^ |
$FORMAT_TOP_NAME |
Siehe Funktion format. |
|
$: |
$FORMAT_LINE_ BREAK_CHARACTERS |
Siehe Funktion format. |
|
$^L |
$FORMAT_FORMFEED |
Siehe Funktion format. |
|
$^A |
$ACCUMULATOR |
Siehe Funktion format. |
|