perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 17
Click for quality!




12.02.2012 / 02:25

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragZeilenende bei CSV Import
Seitenanfang
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

-






-
-