perl und dateiformate
Ich bin mir nicht sicher, ob das folgende ein SuSE-Problem oder ein Perl-Problem ist (perl 5.008, SuSE 8.2): Ich habe ein Perl-Skript, das eine Datei öffnet, einliest, Worte sortiert (mit Sort::ArbBiLex) und dann in eine andere, neu erstellte Datei schreibt. Stellt sich heraus: die Sortierung haut nicht hin, das Input-File ist DOS-text, als output-file kommt MAC-text raus. Kann sowas mit der Linux-Konfiguration zu tun haben oder ist das vermutlich eher eine Frage des Perl-Skripts? Danke, Birgit
On Mon, 2003-08-18 at 10:41, Birgit Kellner wrote:
Ich habe ein Perl-Skript, das eine Datei öffnet, einliest, Worte sortiert (mit Sort::ArbBiLex) und dann in eine andere, neu erstellte Datei schreibt.
Stellt sich heraus: die Sortierung haut nicht hin, das Input-File ist DOS-text, als output-file kommt MAC-text raus.
<Glaskugel auspack> Vermutlich trennt es nicht vernünftig und entfernt die \n aus dem File dann bleibt \r übrig. (Das ist dann "MAC-text") Sinnvoll ist es die Trennung bei \r\n zu machen und in der Ausgabe das wieder anzuhängen. #!/usr/bin/perl -w ## This is untested code!!! use strict; my $file = $ARGV[0] or die "I do need a file"; $/ = "\n\r"; ## Zeilentrenner setzen. open FILE, $file or die "Cannot open $!"; while (<FILE>) { ## ... do something } HTH Volker
participants (2)
-
Birgit Kellner
-
Volker Kroll