Calocybe: undef

Beitrag lesen

Hallo Joerg!

Eine laienhafte Erklaerung, da ich mich so gut auch nicht mit Perl auskenne:

Dieser Befehl

$jpg=<JPG> ;

liesst eine Zeile aus JPG nach $jpg, gell? Aber woher weiss denn das Perl, wo die Zeile zu Ende ist? Naja, da wo das Newline-Zeichen ist, ist doch klar. Normal schon, ja, aber man kann das auch anders einstellen, naemlich in der vordefinierten Variable $/. Dort steht drin, wie das/die Zeilentrennzeichen auszusehen hat. Fuehrt man

undef $/;

durch, wird diese Variable vernichtet. Als Folge davon wird bei dem Befehl oben, der sonst nur eine Zeile einliesst, gleich die ganze Datei auf einmal reingezerrt.
Siehe auch http://www.ActiveState.com/ActivePerl/docs/lib/Pod/perlvar.html#item_input_record_separator


danach kann ich keine Datei zeilenweise einlesen.

Weisst ja jetzt wieso. Setze einfach wieder
$/ = "\n";   , dann sollte es wieder gehen. Auch auf MS-Systemen scheint kein "\r\n" noetig zu sein. Bei mir auf WinNT ist jedenfalls standardmaessig auch nur ein einfaches \n eingestellt. Diese Umsetzung (bei ausgeschaltetem binmode) erfolgt scheinbar nochmal gesondert.

Calocybe