Thread Problem mit Datei einlesen: Perl gibt nur Nummern aus
(6 answers)
Opened by TheDHK at 2007-01-31 17:58
Hi Leute,
ich möchte eine XML-Datei einlesen. Diese ist so aufgebaut: Code: (dl
)
1 <?xml version="1.0" encoding="ISO-8859-1"?> Dieses Skript besteht aus 46 Zeilen. Es ist so aufgebaut, dass die Anzahl der Zeilen - 4 durch drei teilbar ist. Daher habe ich folgendes Skript: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #!/usr/bin/perl -w use strict; use warnings; our @av_news; # Profil-Datei einlesen my $rw = open(FILE,'E:\Eigene Dateien\Programme\Scrutator\news.xml'); our @news = <FILE>; # Zeilen bestimmen our $newslength = @news; # XML-Datei darf nur bestimmte Länge haben if(($newslength - 4) % 3 == 0) { # Zweite Zeile - Profilname for(my $i = 4;$i < $newslength;$i += 3) { # Unnötiges abschneiden my $langstring = substr($news[$i],10); # Name ermitteln for(my $j = 0;$j < 8;$j++) { chop($langstring); } my $length = @av_news; $av_news[$length] = $langstring; } } else { #... } close(FILE); 1; Wie ihr seht, überprüfe ich mit Code (perl): (dl
)
if(($newslength - 4) % 3 == 0) 14 46 Ich weiß auch woher diese Zahlen kommen: 46 ist die Anzahl der Zeilen. 46 - 4 = 42. 42 : 3 = 14. Allerdings sollte @news; die ganze Datei ausgeben und @av_news die zugeschnittenen einzelnen Zeilen. Ich hab das vorher schon mit anderen XML-Dateien gemacht und da hatte ich noch keine ähnlichen Probleme. Weiß jemand, wo hier das Problem liegt? Grüble schon seit Tagen darüber, aber egal was ich gemacht habe, nix hat gefunzt. Gruß TheDHK |