K@rl: GIGO

Beitrag lesen

Hallo Bruno

also, normalerweise mach' ich sowas ja nicht ...

Das Problem liegt in Deinen Eingabedaten!! Sieh Dir mal die Datei mit einem Hex-Editor an und Du wirst feststellen, daß Du teilweise (immer?) am Zeilenende "\x0d\x0d\x0a" mit zum Teil vorangestellten Schrott hast :-((

Das hier Funktioniert bei mir (WinDOS Maschine mit ActivePerl):

1. use strict;  2. my $infile = $ARGV[0] || "kino.txt";  3. open FH, "$infile" or die "cannot open $infile - $!";  4. binmode FH;  5. my @in = <FH>; # slurp!  6. close FH;

7. # -- clean the \0d\0d\a... mess ...  8. my @cleaned;  9. foreach (@in) { 10.     s/\s+$/\n/; 11.     push @cleaned, $_; 12.     } 13. undef @in; # not needed anymore -> free some RAM 14. # -- END clean

  1. my $joined = join('', @cleaned);

  2. my @splitted = split(/\n\n+/, $joined);

  3. undef $joined; # not needed anymore -> free some RAM

  4. -- BEGIN TEST

  5. my $i = 0;

  6. foreach (@splitted) { 21.     printf "%4d:: %s\nEND-OF-RECORD\n", $i++, $_; 22.     }

  7. -- BEGIN TEST

Beachte:

Zeile 3: möglicherweise wird das o-p-e-n im Forum irgendwie          als "/pen" dargestellt Zeile 4: binmode - wegen des Schrotts .. Zeilen 7-14: hier wird der Schrott entfernt - gibt sicher              elegantere Wege das zu tun, aber es macht Zeilen 15-17: wie gesagt - bei sauberen Eingabedaten               ist das ein Weg (remember: TIMTOWTDI!)               - oder 15+16 in einem Befehl - wie vorher               im Thread beschrieben

In @splitted stehen die jeweiligen Records. Beachte, daß zwar innerhalb jedes Records Zeilenumbrüche "\n" vorhanden sind, welche die Zeilen trennen, aber am Ende kein "\n" steht (was Dir beim Weiterverarbeiten eher nutzen sollte).

Die ersten beiden Records sind dann bei mir als Output des Tests (möglicherweise werden hier im Forum Deine Deutschen Hoch-Tief-Anführungsstriche nicht richtig dargestellt):

0:: Nicht von dieser Welt Italien  1999  100'  R: Giuseppe Piccioni D: Margherita Buy, Silvio Orlando, Carolina Freschi Auf der Suche eines Findelkindes kommen sich ein menschenscheuer Wäschereibesitzer und eine idealistische katholische Ordensschwester langsam näher. Am Ende haben die beiden nicht nur die Mutter, sondern auch noch sich selbst gefunden. - Eine Geschichte mit emotionaler Kraft und komödiantischer Leichtigkeit. „Herzergreifende Geschichten im Stile des Neorealismus - Giuseppe Piccionis kleines Meisterwerk scheint dort anzuschließen, wo ‚Brot und Tulpen' aufhört.“ (Frankfurter Rundschau) „Ein kleines Juwel ... völlig zu Recht mit internationalen Auszeichnungen überhäuft.“ (Filmecho) „... erstaunlich ... bewegend. ‚Nicht von dieser Welt' hat genug Klugheit, Feingefühl und Herz für jeden, der ‚Brot und Tulpen' liebt.“ (Der Spiegel) Nominierung für den Oscar „Bester nicht englisch-sprachiger Film“ 2000.

   1:: Brot und Tulpen
Italien  2000  F  118'  R: Silvio Soldini
D: Licia Maglietta, Bruno Ganz, Giuseppa Battiston
Als Rosalba, eine Hausfrau aus Pescara, an einer Raststätte den Bus verpaßt und Mann und Söhne sie erst nach einiger Zeit vermissen, beginnt für sie ein neues Leben. Per Anhalter landet sie in Venedig, wo sie bei einem etwas verschrobenen, aber liebenswerten Schöngeist und Kellner nicht nur eine billige Bleibe, sondern allmählich auch Zuneigung findet. - Der Film ist nahezu mit allen Preisen ausgezeichnet worden, die Italien zu bieten hat. Aber auch hierzulande sind Publikum und Kritik in ihrer Wertschätzung einer Meinung.
„Am Ende ... ist jeder glücklich. Vor allem der Zuschauer.“ (FAZ)
„... wunderschön. Und liebevoll. Und sehr komisch.“ (Die Welt)
„... romantische Komödie von klassischem Format.“ (Der Tagesspiegel)
~~~~END-OF-RECORD~~~~

Gute Nacht!
    K@rl


PS: "GIGO" steht für "Garbage In - Garbage Out"

PPS: "Amelie" halte ich für einen überbewerteten Film