Die Variable $/ ist eigentlich allgemein bekannt. Auch die Doku ist übersichtlich. Normalerweise enthält sie den Zeilentrenner für Einleseoperationen.
Unbekannt und auch nicht dokumentiert (in der POD) ist allerdings das Verhalten, wenn man diese Variable auf eine INT-Referenz setzt. Dann wird nämlich nicht an dem Zeichen getrennt sondern nach n-Bytes (Vorsicht bei UTF-8 Daten, da ein Zeichen dort 2 Bytes lang sein kann!!)
Bsp:
$/ = \2;
while(<DATA>) {
print "\nLine: $_";
}
__DATA__
1234567890
Dieser Code ergibt folgende Ausgabe:
Line: 12
Line: 34
Line: 56
Line: 78
Line: 90
Wer weiß, wozu dieses Wissen mal gut ist 😕
PS: darauf aufmerksam bin ich durch einen PerlMonks.org Beitrag geworden, wo genau das Verhalten beschrieben wurde.