open (FILEHANDLE,"<test.txt"); my $string = do { local $/; <FILEHANDLE> }; print $string;
Der Inhalt der Datei test.txt wird komplett in $string eingelesen. Ohne Schleife oder sonstwas. Wie geht das?
Also, die Datei wird geöffnet, so weit alles klar.
Dann wird im do-Block die Variable $/ lokal gesetzt, und zwar auf '', oder lesbarer, auf ein leeres Zeichen. Das bedeutet: lies alles von Filehandle FILEHANDLE ein.
Die Idee mit dem local bewirkt, daß das $/ nur im Block geändert wird, außerhalb bleibt es auf dem Startwert bestehen, der ja normalerweise ein \n ist.
Das wird dann dem Skalar $string zugewiesen und ausgegeben.
Wie man sieht gibt es in Perl also immer mehrere Möglichkeiten, ein Problem zu lösen.