WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

ASP, Python, Perl, CGI, Ruby, Ajax, GO, ... Vom Syntax Error bis zum Release, hier ist Platz für Diskussionen !


Forum » Sonstige Web-Programmiersprachen » Datei auslesen und nur ein teil ausgeben » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von Cosy
hallo leute... ich habe ein problem..
ich habe hier ein script der die datei termine.txt ausliest und auf der seite in der tabelle ausgibt... aber es werden alle termine ausgegeben was ich nicht will.
ich will das ich es einstellen kann wie viele termine ausgegeben werden.
die termine datei sieht so aus:

1: 
2: 
3: 
4: 
5:
#id|datestamp|label|description
#id|datestamp|label|description
#id|datestamp|label|description
.
.


und script sieht so aus:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76: 
77: 
78: 
79: 
80: 
81: 
82: 
83: 
84: 
85: 
86: 
87: 
88: 
89: 
90: 
91: 
92: 
93: 
94: 
95: 
96: 
97: 
98: 
99: 
100: 
101: 
102: 
103: 
104: 
105: 
106: 
107: 
108: 
109: 
110: 
111: 
112: 
113: 
114: 
115: 
116: 
117: 
118:
#use CGI::Carp qw(fatalsToBrowser);

$termine=2;		# Anzahl der anzuzeigenden Termine
$faktor=int(95/$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, 'termine.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" background="tile_msg.gif" height="1"><b><font face="Arial" size="2" color="'.$farbe.'">'."$xtag.$xmon.$xjhr</b>  --  $label</font></td></tr>";
		$tab=$tab.'<tr><td valign="center" bgcolor="#A7C8A2"><font face="Arial" size="2"><p style="margin-top: 5; margin-bottom: 5">'.$desc.'</font><br></td></tr>';
	}

}
$height=int($faktor*$anz);
$tab='<table border="1" cellpadding="0" cellspacing="0" valign="top" bgcolor="#A7C8A2" bordercolor="#000000" bordercolordark="#D1EFD1" height="1" width="100%"><tr><td bgcolor="#86B580" background="header_tile.gif" height="62px"><a name="Termine Allgemein"><img border="0" src="terallg.jpg"></a></td></tr>'.$tab;
if ($anz==0) {
	$tab='<table border="0" cellpadding="0" cellspacing="0" valign="top" bgcolor="#A7C8A2" bordercolor="#000000" bordercolordark="#000000" height="'.$height.'" 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
 <tr>
            <td width="607" background="foot.gif"><img border="0" src="foot.gif" width="4" height="7"></td>
                </tr>

</table>
Kopf1



##################################################################################
# UNTERPROGRAMME                                                                 #
##################################################################################
sub datum {
	my $dat = shift(@_);
	($sek, $min, $std, $tag, $mon, $jhr, $wtg, $jtg, $isdst)=localtime($dat);
	$jhr=$jhr+1900;
	#---- Wochentagskürzel ---------------------------------------------------
	$wtg =~ s/1/Mon/;
	$wtg =~ s/2/Tue/;
	$wtg =~ s/3/Wed/;
	$wtg =~ s/4/Thu/;
	$wtg =~ s/5/Fre/;
	$wtg =~ s/6/Sat/;
	$wtg =~ s/0/Sun/;
	#---- Monatskürzel -------------------------------------------------------
	$mon =~ s/0/Jan/;
	$mon =~ s/1/Feb/;
	$mon =~ s/2/Mar/;
	$mon =~ s/3/Apr/;
	$mon =~ s/4/May/;
	$mon =~ s/5/Jun/;
	$mon =~ s/6/Jul/;
	$mon =~ s/7/Aug/;
	$mon =~ s/8/Sep/;
	$mon =~ s/9/Oct/;
	$mon =~ s/10/Nov/;
	$mon =~ s/11/Dec/;

	$string=sprintf('%s, %02d-%s-%04d %02d:%02d:%02d GMT', $wtg, $tag, $mon, $jhr, $std, $min, $sek);
	return $string;
}

sub Wochentag {
	$wtg =~ s/1/Montag/;
	$wtg =~ s/2/Dienstag/;
	$wtg =~ s/3/Mittwoch/;
	$wtg =~ s/4/Donnerstag/;
	$wtg =~ s/5/Freitag/;
	$wtg =~ s/6/Samstag/;
	$wtg =~ s/0/Sonntag/;


was muss ich machen das ich nicht die ganze liste ausgegeben bekomme sondern das nur z.B. 2 oder beliebig eistellbare anzahl der termine auf der seite ausgegeben werden?
ich kenne mich nicht so gut aus mit der ganzen programmierung und wäre euch dankbar für hilfe weil ich nicht mehr weiss was ich machen soll...

MfG
Cosy

Nach oben