#!/usr/bin/perl use strict; ############################################# # Skript, dass den Output von KSc-Tool für Excel-Tabelle aufbereitet # V0.5 Klaus Kirchner & Andreas Keller # 17.01.2005 #################################################### my @foldersets; my $index=0; my $maxdepth; sub getstuff { #Füllt das Array mit Verzeichnisdaten my ($verzeichnis,$online,$offline)=@_; my $deep;     $foldersets[0][$index]=$verzeichnis; #bekommt die Verzeichnisnamen zugewiesen   $foldersets[1][$index]=$online; #Die Transferraten online   $foldersets[2][$index]=$offline; #die Transferraten offline   $deep=&checkdepth;   $foldersets[3][$index]=0; #ob diese Verzeichnisinfos schon verarbeitet wurden   $foldersets[4][$index]=$deep; #die Verzeichnistiefe   $index++; } sub checkdepth { #Ermittelt die Verzeichnistiefe my @folder; my $help; @folder = split("/",$foldersets[0][$index]); $help=$#folder; $help; } sub readfile { #Liest Daten aus dem Textfile my $counter=0; my @line; my $zahl; my $hoch=0; open (FILE, "klaus.txt");   while ()   {     chomp;     if ($counter < 1)     {}     else     {        @line = split;        #print "$line[0]\t$line[1] $line[2]\t$line[3]\t$line[4] $line[5]\t$line[6]\n";       &getstuff($line[0],$line[2],$line[5]);     }     $counter++;   } } my $i=0; my $j=20; my $h=0; my $k=0; my $x=0; my $onl=0; my $offl=0; my $heap; my $stack; my $word; my $name; my $zwi; &readfile; #for($i=0;$i<=$index;$i++) #{  # print "$foldersets[0][$i] \t$foldersets[1][$i]#\t$foldersets[2][$i]\t$foldersets[3][$i]  \n";   #} #print "\n\n\n\nIIIIIIIIIIIIIIIIIIIIIIIIIIII\nIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII#\n\n\n\n"; $i=0; for($i=0;$i<=$index;$i++) {     for($j=0;$j<=$index;$j++)     {     if($foldersets[0][$i] eq $foldersets[0][$j])     {        }        else     {     $word = $foldersets[0][$i];   $word =~ s <(.*/)(.*)><\1>;   $word =~ s <>;     $name = $foldersets[0][$j];   $name =~ s <(.*/)(.*)><\1>;   $name =~ s <>;                          if($foldersets[4][$j]<$foldersets[4][$j-1])        {          $foldersets[1][$i]-=$onl;          $foldersets[2][$i]-=$offl;          $onl=0;          $offl=0;        }                        if($word eq $name)          {             #print "$word\n";                         #print "$foldersets[0][$i]\t$foldersets[1][$i]\t$foldersets[2][$i]\n";                         if($foldersets[3][$i]==0)             {                           $onl+=$foldersets[1][$i];               $offl+=$foldersets[2][$i];               $foldersets[3][$i]=1;             }                         $heap=$word;                                     $j=$index; $k=0;            #print "$foldersets[0][$i]\t$foldersets[1][$i]\t$foldersets[2][$i]\n";            print "\t$foldersets[0][$i]\t\t\t$onl\t$offl\n\n";                                              }        }                 #if($heap eq $foldersets[0][$i])     #{     # $foldersets[1][$i]-=$onl;     # $foldersets[2][$j]-=$offl; print "AUS I!!! $foldersets[0][$i]\t$foldersets[1][$i]\t$foldersets[2][$i]\n";     #  next;     #}     #elsif ($heap eq $foldersets[0][$j])     #{     #  $foldersets[1][$j]-=$onl;     #  $foldersets[2][$j]-=$offl; print "AUS J!!! $foldersets[0][$j]\t$foldersets[1][$j]\t$foldersets[2][$j]\n";     #  next;     #}   } } #for($i=0;$i<=$index;$i++) #{  #print "$foldersets[0][$i] \t$foldersets[1][$i]\t$foldersets[2][$i]\t$foldersets[3][$i]  \n";   #}