in datei nach zeile suchen, vergleichen und evtl. ändern
Oddiwahn
- perl
Hallo,
ich schreibe grad ein Newssystem-Script bei dem die News direkt in einer HTML-Datei gespeichert werden sollen.
Zu Beginn der Newsdatei sollen noch Ankerverweise mit Monatsrasterung sein, so dass man per Mausklick dierkt zu dem ersten Beitrag des gewählten Monats springen kann.
Dazu soll die Newsdatei in ein Array geladen werden, und dann soll nach dem Tag <!--Auswahlleiste--> gesucht werden.
Darunter befindet sich das <!--aktmonat:07--> Tag (hier z.B. 07), dass dann mit <!--aktmonat:$monat--> verglichen werden soll, wobei $monat den aktuellen Monat enthält. Sollte das Ergebnis falsch sein, soll dann ein neuer Verweis über
print F1 "\n";
print F1 '<A href="#';
print F1 "$monat.$jahr";
print F1 '">[';
print F1 "$monat.$jahr]</A> |";
hinzugefügt werden.
Bis jetzt hab ich folgendes hinbekommen:
open (F1,">$newsarchiv") || die "Can't Open $newsarchiv: $!\n";
foreach $LINES (@LINES) {
chomp $LINES;
if (/<!--auswahlleiste-->/) {
[...]
Nur wie gehts dann weiter?
Danke im voraus,
Odi
Halihallo Oddiwahn
ich schreibe grad ein Newssystem-Script bei dem die News direkt in einer HTML-Datei gespeichert werden sollen.
Schlecht. Ich empfehle wärmstens ein Script, welches auf einer anständigen Datenbasis
eine html-Datei _generiert_ und diese dann an ihren rechtmässigen Ort verlegt. HTML
taugt nicht zur Speicherung von Daten, es repräsentiert sie nur.
Zu Beginn der Newsdatei sollen noch Ankerverweise mit Monatsrasterung sein, so dass man per Mausklick dierkt zu dem ersten Beitrag des gewählten Monats springen kann.
Was spricht dagegen einfach jeden Monat ein Script zu starten, welches einen neuen
Monatsanker anfügt? - Wäre a) einfacher (geht sogar über cron, dann brauchst du wirklich
nichts mehr zu tun) und b) performanter.
Dazu soll die Newsdatei in ein Array geladen werden, und dann soll nach dem Tag <!--Auswahlleiste--> gesucht werden.
Darunter befindet sich das <!--aktmonat:07--> Tag (hier z.B. 07), dass dann mit <!--aktmonat:$monat--> verglichen werden soll, wobei $monat den aktuellen Monat enthält. Sollte das Ergebnis falsch sein, soll dann ein neuer Verweis über
Hälst du das für eine gute Lösung?
Nur wie gehts dann weiter?
Ich halte deine Lösung nicht für gut. Über HTML-Kommentare (nicht "Tag") sollte man kein
Programm beeinflussen. Zudem müsstest du jeden Monat einen neuen Kommentar hinschreiben,
oder? - Ich verstehe dein Vorhaben noch nicht ganz, glaube aber, dass zuviel Handarbeit
nötig wäre (wer will schon jeden Monat einen Kommentar ergänzen? - Also ich net *g*).
Viele Grüsse
Philipp