Das Programm dient dazu, die Benutzerverzeichnisse (public-html) anzuzeigen.
Dateiname: /usr/local/httpd/cgi-bin/benutzer.
#!/usr/bin/perl -w
use CGI;
$html = new CGI;
$dir = "/home/public_html";
print $html->header, $html->start_html('Öffentliche Benutzer-Verzeichnisse');
print "Hier findet sich eine Liste der auf diesem Server abgelegten
HTML-Angebote von Schülern und Lehrern. Jeder, der ein eigenes
Benutzerkonto im Computerraum hat, kann ein eigenes HTML-Angebot erstellen und
zwar einfach im Verzeichnis <tt>public_html</tt> unterhalb des
Home-Verzeichnisses. Alle Dateien in diesem Verzeichnis mit seinen
Unterverzeichnissen sind öffentlich.<P>";
setpwent;
while (my @user = getpwent) {
$userdir ="$dir/$user[0]";
if (-d $userdir) {
opendir DIR, $userdir;
rewinddir DIR;
@dirlist = readdir DIR;
if (@dirlist > 2) {
$text='';
if (-s "$userdir/index.html") {
open DATEI, "$userdir/index.html";
$text = join '',<DATEI>;
close DATEI;
} elsif (-s "$userdir/index.htm") {
open DATEI, "$userdir/index.htm";
$text = join '',<DATEI>;
close DATEI;
}
($titel) =($text =~ m@<TITLE>(.*?)</TITLE>@is);
$titel = ($titel ? "; <i>Titel: $titel</i>":'');
$username = ($user[6] ? $user[6] : $user[0]);
print $html->a({href=>"/~$user[0]/"},$username.$titel),$html->br;
}
closedir DIR;
}
}
endpwent;
print '<hr><p><a href="/oldhomes/">Seiten ehemaliger Schüler</a>';
print $html->p,$html->a({href=>"/"},'Hier geht\'s zurück zum Anfang.'),
$html->end_html;