#!/usr/bin/perl -w # # Durchsucht die Briefe (pcl->pdf->html, siehe Script zur Umwandlung) # und die E-Mails (in einzelnen Dateien, siehe Script zur Umwandlung) # nach Suchworten. Zeigt die Ergebnisse als Links an # # michael.schaarwaechter@ub.uni-dortmund.de, 9/07 # use CGI; our $query=new CGI; our $briefedir="/var/spool/sisis/avserver/batch/alist/briefe4apache"; our $link2show="https://meinsisis.server/Briefe"; # ----------------------------------- sub datum { my @time; @time=localtime; my $y=$time[5]+1900; my $m=$time[4]+1; my $d=$time[3]; my $hour=$time[2]; my $min=$time[1]; my $sec=$time[0]; $sec="0".$sec if (length($sec)==1); $min="0".$min if (length($min)==1); $hour="0".$hour if (length($hour)==1); $d="0".$d if (length($d)==1); $m="0".$m if (length($m)==1); return $d.".".$m.".".$y." ".$hour.":".$min.":$sec"; } # ----------------------------------- sub fehler { return qq#

#,@_,qq#

#; } # ----------------------------------- sub suche { my $suchstring=$query->param("s"); return &fehler("Suchbegriff fehlt!") if (not $suchstring); print qq#

Gesucht wurde $suchstring

#; my @suchen=split / +/,$suchstring; undef $/; my $content; my $count=0; print "

 
"; foreach my $d(glob("$briefedir/20??.??.??")) { foreach my $f(glob("$d/*.html"),glob("$d/*.txt")) { open (FILE,$f); $content=; close FILE; $found=1; foreach my $s(@suchen) { if ($content!~/$s/si) { $found=0; last; } } $f=~s/$briefedir\///; if ($found) { my $where="E-Mail"; $where="Brief" if ($f=~/.html$/); print qq#Fundstelle $where: $link2show/$f
#; $count++; } } } print qq#
$count Fundstellen

#; return; } # ----------------------------------- $| = 1; # Keine Ausgabepufferung print $query->header; print << "EOT"; Suchbriefe-Ausgabe

Ergebnis der Suche

EOT print &suche; my $prog=$0; print qq#

Erzeugt von $prog am #.&datum.qq#

# ; print $query->end_html;