Thread Zeilenweise Datei einlesen (9 answers)
Opened by Gast at 2007-11-20 13:19

Gast Gast
 2007-11-20 13:19
#102641 #102641
Hoffe ich bin hier richtig ? ;)

Eigentlich ist Thematik recht simple, ich möchte ein einfaches Textfile einlesen und dann zeilenweise ausgeben.

folgender code, sollte das recht einfach erledigen:

Code: (dl )
1
2
3
4
5
6
 
open (FILE, "< $joblist_file") || die "Can't open $joblist_file! $!\n";
while (<FILE>)
{
print "job $_\n";
}


bzw.

Code: (dl )
1
2
3
4
5
6
open (FILE, "< $joblist_file") || die "Can't open $joblist_file! $!\n"; 
while (<FILE>)
{
$line = $_
print "job $line\n";
}


demnach sollte er ja Zeile für Zeile mit dem String "job" ausgeben. Ausgabe ist aber "job zeile" gefolgt von den weiteren zeilen allerdings ohne den jobstring.
ich hab dann mal folgendes probiert.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
open (FILE, "< $joblist_file") || die "Can't open $joblist_file! $!\n";  
@file = <FILE>;
close FILE;

my $counter = 0;
my $acounter = @file;

print"arraysize $acounter\n";
foreach $line (@file)
{
print "count $counter\n";
print "$line\n";
$counter++;
}


$counter wird nach ablauf des Codes auf 1 gesetzt.
$acounter hat die Größe von 1.

Imho die Datei wird nicht zeilenweise sondern als ein Block eingelesen. Eine weitere Idee war explizit einen Zeilentrenner ($/ = "\n\r";) zu definieren, hatte aber auch keine
Auswirkung. Desweiteren hab ich es mit verschieben Textfiles (windows und ux) probiert - immer das gleiche Ergebnis.

Grüße

Benny

View full thread Zeilenweise Datei einlesen