my $i1=0; # initzialize File row counter to remove the first line (headline) my $i3=0; ### counterpart to the breakpoint my $breakpoint=10; ### till wich file-row the sql statement will be read my $sql = 1; our @query_out = (); while ($line_query_input= and $i3 <= $breakpoint) { chomp($line_query_input); my @values = split(/\s*,\s*/, $line_query_input); push @data_array, [@values]; if ($i1>=1 && $sql ==1) # notwendig um sql abfrage richtig zu beginnen und die Überschriftszeile im csv-File zu überspringen { $query_out[$i1] = "(a.id= '$data_array[$i1][0]' and cc.code_nr = '$data_array[$i1][20]')"; $sql = 0; } elsif ($i1>1) { $query_out[$i1] = " OR (a.id = '$data_array[$i1][0]' and cc.code_nr = '$data_array[$i1][20]')"; } $i1++; ### line-counter $i3++; ### zählt bis $breakpoint, nach der weiterverarbeitung wird er wieder auf 0 gesetzt -> sdie nächsten 10 zeilen werden eingelesen if ($i3>= $breakpoint or $line_query_input== ) #### Fehlerquelle: or $line_query_input== { # ....Weiterverarbeitung..... $i3 = 0; ### Die nächsten Zeilen können eingelesen werden...solange bis $breakpoint erreicht ist $sql = 1; @query_out = (); ### array leeren }