Thread die frage nach der ursache eines fehlers ...
(5 answers)
Opened by jan999 at 2009-11-11 19:24
Habs dir mal ein wenig abgeändert...
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 #!/usr/bin/perl use strict; use warnings; # Parser einbinden my $osmolt_file = $ARGV[0]; my $result_file = $ARGV[1]; my $count_lines = 0; my $count_ctimes = 0; ReadData(); # Filter anlegen sub ReadData { #Filterdatei oeffnen open(my $fh, "<", $osmolt_file) or die( "$osmolt_file: $!" ); open(my $out, ">", $result_file) or die ("Can't open html output file: ".$result_file); my $count = 0; my $desc = ""; #fuer jede Zeile while(my $zeile = <$fh>) { chomp $zeile; # Newlines loeschen $zeile =~ s/^\s+//; # fuehrende Leerzeichen entfernen $zeile =~ s/\s+$//; # nachfolgende Leerzeichen entfernen next if( /^#/ ); # Kommentare ueberspringen next if( /^s*$/ ); # Leerzeilen ueberspringen if ($count != 0) { #Zeile auftrennen my($point,$title,$attributes,$icon,$icon_size,$iconOffset) = split(/\t/, $zeile, 7 ); print $point." - ".$attributes." * "; $count_lines++; print $attributes; if (length $attributes > 0 ) { $desc="<i>Es liegen Daten vor !!!!</i>"; } else { $desc="<i>keine Leerungszeiten vorliegend!</i>"; } print $out join("\t", $point, $title, $desc, $icon, $icon_size, $iconOffset)."\n"; } else { # einfache Datenweitergabe der Kopfzeile print $out $zeile."\n"; } # Anzahl der eingelesenen Zeilen $count++; }# end-while close($fh) or die $!; close($out) or die $!; } # while Verwende bei open immer die 3. Argumenten schreibweise + immer lexikalische Variablen) besser $zeile wie $_ (while usw.) Ausgabe join... Warum dein Skript nicht funktioniert... ? sind die Daten wirklich tab-getrennt ?? ;) Last edited: 2009-11-11 20:52:59 +0100 (CET) |