Hallo,ich habe ein Problem beim Einlesen einer CSV Datei. Bei dieser Datei sind die verschiedenen Felder durch {;{ getrennt. Das Zeilenende ist mit }!} gekennzeichnet.
Das Skript soll nur Überprüfen, ob in dem ersten Feld Buchstaben sind, wenn ja breche ab.
Mein Problem nun ist, dass das Einlesen nur beim ersten Datensatz funktioniert, danach gibt es nur noch Kauderwelsch, da die Zeilenenden irgendwie falsch interpretiert werden.
Es wird nicht korrekt von {;{ zum nächsten{;{ eingelsen, sondern immer nur bis zum Ende der Zeile.
Hier der Code Schnipsel:
foreach my $daten (@daten) {
chomp (@daten);(my($feld1, $feld2, $feld3, $feld4, $feld5,....)) = split/\{;{/, $daten, -1;
if ($feld1 =~ s/[a-zA-Z]{1}//s){
print "\n$feld1\n";
print "\nAttention the file is corrupt!!!!!!!\n";
print "\nParsing aborted!!!!\n";
exit 1;
}else{
Datastruktur:
Es funktioniert bei datensatz1. Bei datensatz2 bleibt er nach dem zweiten umbruch stecken.
Struktur ist nur Beispielhaft(nicht meine echte)
Ausschnitt:
datensatz1{;{xx;{xx{;{{;{ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx {;{{;{{;{xx{;{{;{}!}
datensatz2{;{xxx{;{xxxxxxx{;{xx{;{xx{;{{;{{;{xxxxxxxxxxx{;{
{;{{;{x {;{
{;{xxxxxxxxxxxxxxx{;{xxx{;{xxx{;{
xx{;{{;{}!}
datensatz3..............usw...
Mit bestem Dank im voraus
hans
Datum: 07.07.2005-14:25
