Sup!
Mein Skript...
#!/local/bin/perl5
Funktioniert nur beim Start im Verzeichnis, das durchsucht werden soll
Darum als Pfad einfach "."
Verzeichnis oeffnen und einlesen
opendir THEDIR,".";
@dir = readdir THEDIR;
closedir THEDIR;
Initialisierung von Lowtop (kleinster der groessten 15 Werte)
$lowtop = 0;
Initialisierung eines Arrays mit Referenzen auf: Arrays mit 2 Elementen, die Referenzen enthalten auf: Eine Zeichenkette Eine Zahl.
# Array (15 Elemente) [ R ] ... [ R ][ R ]
# Referenz auf
# Array (2 Elemente) [ R R ]
# Referenzen auf
# Count/Dateiname Count Dateiname
In dieser Datenstruktur werden dann die Threads mit den jeweils hoechsten Posings mitsamt Dateiname gespeichert.
for ($i = 0; $i< 15;$i++)
{
${ ${ $topfifteen[$i] }[1] } = 0;
}
Fuer alle Elemente im Verzeichnis...
foreach $element (@dir)
{
if ($element eq "." $element eq ".." !($element =~ /htm$/))
{
Die nicht gerade keine HTML Datei oder . oder .. sind...
}
else
{
Oeffne die Datei...
open THEFILE,$element;
Setze counter auf 0...
$count =0;
while ($line = <THEFILE>)
Arbeite alle Zeilen ab
{
if ($line =~ /<!--end:/) {$count += 1;}
Zaehle dabei Zeilen, in denen eine Posting-End-Signatur vorkommt
}
if ($count > $lowtop)
Wenn die Zaehlung mehr Postings ergibt als der Thread mit den wenigsten Postings in den Top 15
{
Dann ueberschreibe die 15te Position in den Top15 mit dem neuen Top15 Thread..
${ ${ $topfifteen[14] } [1] } = $count;
${ ${ $topfifteen[14] } [0] } = $element;
Und sortiere die Top15, damit an der 15ten Position wieder der Thread mit den wenigsten Posting steht
Die Sort Funktion heisst nur so freaky - warum auch nicht...
@newfifteen = sort freaky @topfifteen;
Swappen...
@topfifteen = @newfifteen;
Neues Lowtop setzen
$lowtop = ${${$topfifteen[14]}[1]};
}
Datei zumachen
close THEFILE;
}
Ende der Schleife ueber das Directory
}
Ergebnisausgabe - fuer alle Top15 Threads Postingzahl und Dateinamen raushauen
foreach $element (@topfifteen)
{
printf "${ ${ $element } [1] } - ";
printf "${ ${ $element } [0] }\n";
}
Vergleichs-Sub fuer das Sortieren der etwas komplizierten Struktur
sub freaky
{
${${$a}[1]} < ${${$b}[1]};
}
Gruesse,
<img src="http://outpost.purespace.de/webdesign.jpg" alt="">
Bio