Hi sunny,
Mein Problem ist, dass ich das Script teilweise
nicht ganz verstehe und es daher (für mich) total
schwierig ist, es umzubauen.
das kann ich Dir nachempfinden. Ich schreibe auch
lieber Code selber, als fremden Code zu lesen.
Wenn Du es aber nicht selbst machen willst, dann
'übernimm' den Code. Kommentiere ihn! Schreibe an
jede Zeile hin, was sie tut, warum sie da ist.
Arbeite Dich Zeile für Zeile ein - durch diese
Kommentare siehst Du, wo Du noch Lücken hast.
Und eine derrartige kommentierte Version des
Quelltextes wäre für andere Leser, die Dir helfen
wollen, ebenfalls nützlich.
Einerseits sehen diese dann nämlich, wie das
Programm arbeitet, und andererseits sehen sie,
ob Deine Kommentare korrekt sind! Wenn Du an eine
Anweisung schreibst, daß Du von ihr etwas Bestimmtes
erwartest, was sie aber nicht tut, dann läßt sich
ein solcher Denkfehler auch von jemandem leicht
finden, der einfach nur gut Perl kann - ohne daß
dieser dafür das gesamte Skript so detailliert
durcharbeiten muß wie Du selbst, der Du ja ggf.
später noch eigene Änderungen einbauen willst.
Vor allem auch weil ich von allen Seiten andere
Tips bekomme
Das liegt nicht zuletzt daran, daß Du eine "Lösung"
für ein Problem geliefert hast, die erstens zu
keiner sauber definierten Aufgabenstellung gehört
und zweitens technisch suboptimal gemacht ist, wie
Christian ja bereits gezeigt hat. Da weiß man oft
gar nicht, wo man mit dem Verbessern anfangen soll.
Wahrscheinlich wäre es wirklich das Einfachste,
den gesamten Programmteil wegzuwerfen und neu zu
schreiben. Dafür jedoch wäre eine _exakte_ Auf-
gabenstellung notwendig - und diese müßte inbeson-
dere so detailliert sein, daß sie die Zusammenarbeit
zwischen diesem Programmteil und seiner Umgebung
_vollständig_ beschreibt.
Eine solche Aufgabenstellung zu schreiben ist
oftmals aufwändiger als das Programmieren selbst!
und mich selber mit Perl bis vor 3 Tagen noch
nie beschäftigt hatte.
Dann erwarte einfach nicht, daß Du nach 3 Tagen zu
irgendwelchen zählbaren Erfolgen kommst.
Gerade das Finden eines Fehlers hat viel mit Erfah-
rung zu tun - und auch mit methodischem Vorgehen.
Deshalb habe ich Dir empfohlen, an möglichst vielen
Stellen Testausgaben einzufügen.
Verlaß Dich auf nichts! Vertraue keiner einzigen
Anweisung! Prüfe jede einzelne Zeile und isoliere
somit den fehlerhaften Bereich, so gut es geht.
Je kleiner das verbleibende Code-Stück ist, desto
leichter siehst Du, warum was nicht funktioniert.
Viele Grüße
Michael