Perl: Datei zeilenweise einlesen und Parameter zuweisen.

Gast #1299166
Lesenswert?

Danke - scheint bei mir allerdings nicht laufen zu wollen..

hier nochmals mein code:



#!/usr/bin/perl



$file1 = "dataout.txt";

open(fout, ">$file1");

$file2 = "datain.txt";

unless( open(fin, "<$file2") ) {
die "error: could not open file '$file2':$!\n";
} # if

while($line = <fin>){

@var = split(/,/, $line);


$X =  $var[0];
$C =  $var[1];
$Zs = $var[2];
Gast #1299251
Lesenswert?

Hallo

Irgendwelche Fehlermeldungen?
Zumindest sollte irgendwas kommen, daß die abschließende Klammer }
von while fehlt.

Und als erstes ind die while-Schleife noch
chop ($line);
einfügen, dann werden die Zeilenabschließenden <\n> abgeschnitten.

Gruß
Joachim
Gast #1554986
Lesenswert?

Der Thread ist zwar schon alt, aber vielleicht interessiert es ja noch 
jemanden. Perl lebt von regulären Ausdrücken, daher sollte man sie auch 
nutzen. Mein Vorschlag:
1
# Messwertlisten
2
@x = ();
3
@y = ();
4
@z = ();
5

6
while(defined($Zeile = <>))
7
{
8
    if ($Zeile =~ m/(\d*) ?, ?(\d*) ?, ?(\d*)\s*/)
9
    {
10
        push(@x,$1);
11
        push(@y,$2);
12
        push(@z,$3);
13
    }
14
}
15

16
# Ausgabe aller Werte
17
print "Alle Werte:\n@x\n@y\n@z";

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren