Artikel im Internet unter http://www.hidemail.de/blog/vordefinierte-variablen-perl.shtml.
Dienstag, 6.3.2007, 00:08:08 Uhr

Vordefinierte Variablen in Perl


Folgende Variablen werden von Perl verwendet:

$_
Die bekannteste vordefinierte Variable in Perl. Perl speichert darin den jeweils aktuellen Wert einer Schleife, Eingabe usw.

foreach (@zeilen){print "$_\n";}



$.
Enthält die aktuelle Zeilennummer der zuletzt eingelesenen Datei.

open(DATEI, "<readme.txt");
while(<DATEI>)
{ print $_; }
print $., " Zeilen gelesen";
close(DATEI);



$/
In $/ ist der eingestellten Eingabeseparator gespeichert.
Diese Variable kann geändert werden.

$/ = "ENDE";
# statt \n ist nun "ENDE" das Zeilenende
$Eingabe = <STDIN>;
print $Eingabe;



$]
Enthält die Versionsnummer des verwendeten Perl-Interpreters.

$!
Enthält die aktuelle Fehlermeldung oder Fehlernummer, sofern ein Fehler aufgetreten ist.

open(DATEI, "<datei.txt") || print $!;



$0
Enthält den Dateinamen des Perl-Scripts, das gerade ausgeführt wird.

$$
Enthält die Prozeß-ID des Perl-Scripts, das gerade ausgeführt wird.

$^T
Enthält den genauen Zeitpunkt (Millisekunden), zu dem das Script gestartet wurde.

$Start = $^T;
$Jetzt = time;
print "Laufzeit: ", $Jetzt - $Start, " ms\n";



$&
Enthält nach Anwenden eines regulären Ausdrucks den Wert, auf den das Suchmuster paßte.

$Satz = "Katz und Maus";
$Satz =~ /\bund\b.*/;
print $&;



$+
Enthält nach Anwenden eines regulären Ausdrucks mit Klammern den Inhalt der Klammer, die mit dem letzten Suchmuster übereinstimmte.

$Satz = "Katz und Maus";
$Satz =~ /(\bund\b).*/;
print $+;



$|
Umschaltung zwischen gepufferter und ungepufferter Ausgabe des Scriptes.
$|=1; # Alle Ausgaben werden sofort ausgegeben

$1, $2, ...
Enthält nach Anwenden eines regulären Ausdrucks mit Klammern die Werte der Klammern 1, 2 usw., auf die das in der jeweiligen Klammer definierte Suchmuster paßte.

$Satz = "Hund und Katz und Maus";
$Satz =~ /(\bund\b).*/;
print "$1 $2";




Artikel im Internet unter http://www.hidemail.de/blog/vordefinierte-variablen-perl.shtml.