Ich habe ein problem...
script was ich habe liest die termine datei und gibt diese dann aus
es werden aber alle termine ausgegeben was ich nicht möchte.
ich möchte das nur (einstellbar auf anzahl der anzuzeigenden termine) z.B. ein termin augegeben wird ..
ich finde die lösung nicht!! könnt ihr mir helfen???
script:
#!/usr/bin/perl
termine.cgi
#use CGI::Carp qw(fatalsToBrowser);
$termine= 4; # Anzahl der anzuzeigenden Termine
$faktor= int (0/$termine);
--- Datum ermitteln ----------------------------------
($sek, $min, $std, $tag, $mon, $jhr, $wtg, $jtg, $isdst)=localtime(time);
$mon ++;
$jhr=$jhr+1900;
&Wochentag;
$datum=sprintf('%02d.%02d.%04d',$tag, $mon, $jhr);
--- Kalender Datei lesen -----------------------------
if(open(IN, 'calendar_events.txt')){
@liste=<IN>;
close(IN);
}
else{die;}
--- Kalender Datei vorbereiten -----------------------
foreach $zeile (@liste) {
($id,$xdatestamp,$label,$desc) = split(/|/,$zeile,4);
$xjhr=substr($xdatestamp,0,4);
$xmon=substr($xdatestamp,4,2);
$xtag=substr($xdatestamp,6,2);
if ($xjhr eq "0000"){
$xdatestamp=$jhr.$xmon.$xtag;
}
$liste[$i]=$xdatestamp.'|'.$label.'|'.$desc;
$i++;
}
--- Kalender Datei sortieren -------------------------
@liste = sort {$a cmp $b} @liste;
--- Kalender Datei ausgeben --------------------------
foreach(@liste) {
chomp;
next unless /^\d/;
($xdatestamp,$label,$desc) = split(/|/,$_,3);
$xjhr=substr($xdatestamp,0,4);
$xmon=substr($xdatestamp,4,2);
$xtag=substr($xdatestamp,6,2);
if ((($xjhr*365)+($xmon*30)+$xtag) >= (($jhr*365)+($mon*30)+$tag)) {
$anz++;
if (($xtag==$tag) & ($xmon==$mon) & ($xjhr==$jhr)){
$farbe="yellow";
}
else{
$farbe="#000000";
}
$tab=$tab.'<tr><td valign="top" bgcolor="#86B580" height="1"><b><font face="Arial" size="2" color="'.$farbe.'">'."$xtag.$xmon.$xjhr</b> -- $label</font></td></tr>";
$tab=$tab.'<tr><td valign="top" bgcolor="#A7C8A2"><font face="Arial" style="margin-top: 5; margin-bottom: 20" size="2">'.$desc.'<br></font><br></td></tr>';
}
}
$height=int($faktor*$anz);
$tab='<table border="0" cellpadding="0" cellspacing="0" valign="top" bgcolor="#A7C8A2" bordercolor="#000000" bordercolordark="#000000" height="95%" width="100%">'.$tab;
if ($anz==0) {
$tab='<table border="0" cellpadding="0" cellspacing="0" valign="top" bgcolor="#A7C8A2" bordercolor="#000000" bordercolordark="#000000" height="95%" width="100%"><font face="Arial" size="2" color="'.$farbe.'"><center>keine Termine vorhanden</center></font>';
}
--- HTML Header einrichten ---------------------------
print <<Kopf1;
Content-type: text/html
$tab
</table>
Kopf1
##################################################################################
UNTERPROGRAMME
##################################################################################
sub datum
DIE UNTERPROGRAMME HABE ICH UND ES FUNKTIONIERT ALLES