jcasper: Datei zeilenweise einlesen.

Beitrag lesen

Hallo Forum,

das mit dem CR LF habe ich schon mal geklärt.
(auch eine Suchmaschine will richtig gefüttert sein)

  

> my $SPM_handle = $cgi -> upload('SPM');  
> my @extensions = qw(txt xls xlsx csv);  
> my $i = 0;  
> my $file_enabled = "yes";  
>   if (($SPM_handle ne "") && ($file_enabled eq "yes")) {  
>     if (!grep($fileext,@extensions)) {  
>       print "The file has an invalid format! (wrong extension)!<br />\n";  
>     } else {  
>       while (read($SPM_handle, $buffer, 1024 )) {  
>         # only for testing  
  
           my $complfile = $buffer;  
           # replace CR LF with <br00>  
           $complfile =~ s/\015\012|\015|\012/<br00>/g;  
           my @lines = split(/<br00>/,$complfile);  
           foreach $i (0..$#lines) {  
             if ($i == 0) {  
               $headline = $lines[$i];  
             } else {  
               $fieldlines[$i-1] = $lines[$i];  
             }  
           } $i = 0;  
           @headline_sep = split(/;/,$headline);  
           foreach $i (0..$#headline_sep) {  
             print $headline_sep[$i];  
             if ($i != $#headline_sep) {  
               print " :: ";  
             }  
           } print "<br />"; $i = 0;  
  

>       }  
>     }  
>     $counts = $i - 1;  
>   }  

Was ich jetzt noch suche, ist die Möglichkeit das von mir gefüllt Array @fieldlines aufzusplitten.
Dafür hatte ich mir folgendes überlegt:

  
  foreach $i (0..$#fieldlines) {  
    my @fieldline_sep_[$i] = split(/;/,$fieldlines[$i]);  
  }  

So das ich am Ende mehrere Arrays "@fieldline_sep_0 ... 1,2" und so weiter erhalte. Über $#fieldlines + 1 würde ich die Anzahl erhalten und weiß so, wie viele Arrays ich bekommen habe.
Wie aber kann ich diese Arrays deklarieren? "@fieldline_sep_[$i]" functioniert leider nicht ;-) (wäre ja auch zu einfach).

Für Eure Hilfe vorab schon einmal Danke!
ciao Jörg