[quote=esskar,23.Mar..2006, 12:25][quote=renee,23.03.2006, 12:21]Wieso richtiger?? In
$/ kann etwas ganz anderes drin stehen. Es muss nicht immer ein
\n sein.[/quote]
weil chomp auch $/ nimmt und nicht \n
Das wissen, aber nicht alle (dich nehm ich jetzt mal aus dieser Gruppe). Und da die Frage auch auf chomp zielte, bezeichne ich meine Funktion als "richtiger".[/quote]
Hi,
also ich kreide die richtigkeit deiner Aussage etwas an.
Im Kamel Buch unter "Portables Perl" wird gerade eben gesagt das "\n" nicht wirklich nur "\n" ist, sondern allgemein ein Zeilenvorschub. Ein Zeilenvorschub ist je nach verwendetem System etwas anderes.
So Soll unter MacPerl ein "\n" == "\015" bedeuten. Bei DOS-basierten Perl Versionen ist "\n" == "\015\012", und bei Unix ist "\n" traditionell "\012". Ein Zeichen mehrere Bedeutungen.
Es wird sogar gesagt das bei der Socket Programmierung explizit die Verwendung von "\n" vermieden werden soll.
print SOCKET "Hallo, Client!\015\012"; #richtig
print SOCKET "Hallo, Client!\r\n"; #falsch
So steht es jedenfalls im Kamel Buch unter "Portables Perl" 4. oder 3. Auflage (Ich weiß ehrlich nicht welche Auflage das sein soll). S.643
Von daher würde ich einfach sagen das dein Code auch richtig ist, nur etwas komplizierter für die gleiche Aufgabe. Sofern ich mich da jetzt nicht täusche.
Und jetzt könnt ihr mich Steinigen. ;)\n\n
<!--EDIT|sid burn|1143662984-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de