Thread Geschwindigkeit beim Parsen (13 answers)
Opened by Oliver007 at 2013-01-10 15:09

Gast wer
 2013-01-10 20:47
#164868 #164868
Dein Code ist sehr unvollständig und schlecht formatiert. Einige Sachen kann und sollte man anders schreiben.
Mal eine etwas überarbeitete Variante soweit ich es verstanden habe:

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
63
64
65
66
67
68
69
70
71
72
73
#!/usr/bin/perl
use strict;
use warnings;

my $workdir='*****';
my $workfile='*****';
my $outfile='C:\Temp\archiv4\Daten.txt';

##-------------Verzeichnisse holen
my @dir;
{
  opendir(my $dh , $workdir) or die "Cant open DIR: $workdir ($!)\n";
  my @dir=grep{!/^\.\.?$/}readdir($dh);
  close $dh;
}

my $text='';

print "Open Dirs \n";
print "-------\n";
for my $dir (@dir) 
{
  print $dir."\n";

  # ist das so geplant ???
  my $path=join('\\',$workdir,$dir,$workfile);
  ##------------Datei öffnen 
  print "Report: parsing $path\n";

  my %outputTable = parseData($path);
  
  ##------------Test
  if (exists $outputTable{"4"})
  {
    $outputTable{"3"}=$outputTable{"3"}+$outputTable{"4"};
    delete $outputTable{"4"};
  }

  ##------------Ausgabe in String
  while ( my ($Name,$Wert) = each( %outputTable) )
  {
    print "Tag: $Name, $Wert\n";
    $text .= "$Wert\t";
  }

  $text .= $dir."\n";

  print "--------------------------\n";
}

#Daten schreiben
open (my $fh, ">" $outfile) or Win32::MsgBox("Die Ausgabedatei $outfile konnte nicht erzeugt werden: $!\n");
print $fh $text;
close $fh;

sub parseData
{
  my $path=shift(@_);

  my %Table;

  open(my $fh, '<', $path) or die "can't open $path ($!)\n";
  my @fullTable=<$fh>;
  close($fh);

  ##finde Positionen von **** and **** durch erste Zeile
  # füllen von %Table aus @fullTable ???

  # zeige mal genauer was hier passiert.
  # möglicherweise lässt sich das effizienter gestalten.

  return %Table;
}


Da der Code nicht vollständig ist kann ich das auch nicht testen.
Last edited: 2013-01-10 20:49:36 +0100 (CET)

View full thread Geschwindigkeit beim Parsen