$/="" wird verwendet, um Perl anzuweisen, einen Absatz zu lesen. Ein Absatz ist ein Textblock, der aus zwei oder mehr Zeilenumbrüchen besteht. Dies unterscheidet sich von der Einstellung „nn“, die nur Textblöcke einliest, die aus zwei Zeilen bestehen. In diesem Fall tritt ein Problem auf: Wenn fortlaufende Leerzeilen vorhanden sind, z. B. „textnnnn“, können Sie diese als einen Absatz („text“) oder zwei Absätze („text“) interpretieren, gefolgt von zwei Zeilenumbrüchen und einem leerer Absatz, gefolgt von zwei Leerzeilen.)
Die zweite Erklärung ist beim Lesen von Text wenig hilfreich. Wenn der Absatz, den Sie lesen, die obige Situation aufweist, müssen Sie „leere“ Absätze nicht herausfiltern.
$/="nn";
while(){
chomp;
nextunlesslength;#leeres Segment überspringen
# ...
}
Sie können $/ auf undef setzen, was zum Lesen eines Absatzes gefolgt von zwei oder mehr Zeilenumbrüchen verwendet wird: undef$/;
while (){
chomp;
#...
}
Gesamte Datei lesen
$ Weitere interessante Werte für / sind undef. Wenn dieser Wert festgelegt ist, teilt er Perl mit, dass der Lesebefehl den Rest der Datei als Zeichenfolge zurückgibt:
undef$/;
$file=;
Denn eine Änderung des Werts von $/ wirkt sich auf jeden nachfolgenden Lesevorgang aus, nicht nur auf den nächsten Lesevorgang. Normalerweise möchten Sie diesen Vorgang auf einen lokalen Vorgang beschränken. Durch das folgende Beispiel kann der Inhalt des Dateihandles in einen String eingelesen werden:
{
local$/=undef;
$file=;
}
Denken Sie daran: Perl-Variablen können sehr lange Zeichenfolgen lesen. Obwohl Ihre Dateigröße die Grenzen Ihres virtuellen Speichers nicht überschreiten darf, können Sie dennoch so viele Daten wie möglich einlesen.
Das Obige ist die klassische Verwendung von Perl: Lesen Sie den Inhalt des Absatzes. Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (www.php.cn)!