#!/local/bin/perl5 ############################################################################## # $Id: glossar.pl,v 1.1 2010/09/07 14:20:14 unrz59 Exp $ ############################################################################## # Glossar / Acronymanzeige # Anzeige von HTML-Acronym-Tags aus vorheriger Indizierung ueber search_acronyms.pl # Copyright (C) 2004 Wolfgang Wiese # # glossar.pl ist freie Software; Sie dürfen sie unter den Bedingungen der # GNU Lesser General Public License, wie von der Free Software Foundation # veröffentlicht, weiterverteilen und/oder modifizieren; entweder gemäß # Version 2.1 der Lizenz oder (nach Ihrer Option) jeder späteren Version. # # glossar.pl wird in der Hoffnung weiterverbreitet, daß sie nützlich # sein wird, jedoch OHNE IRGENDEINE GARANTIE, auch ohne die implizierte Garantie # der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Mehr Details # finden Sie in der GNU Lesser General Public License. # # Sie sollten eine Kopie der GNU Lesser General Public License zusammen mit # dieser Bibliothek/diesem Programm erhalten haben; falls nicht, schreiben Sie # an die Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, # MA 02111-1307, USA. # # Das Regionale Rechenzentrum Erlangen (http://www.rrze.uni-erlangen.de) # erhebt keinen urheberechtlichen Anspruch auf das von # Wolfgang Wiese # geschrieben Programm. ############################################################################## # Last Modified on: $Date: 2010/09/07 14:20:14 $ # By: $Author: unrz59 $ # Version: $Revision: 1.1 $ ############################################################################# use strict; use lib './'; my $GLOSSAR_FILE = "glossar.txt"; # In dieser Datei befindet sich die Glossardatei. Diese wird erstellt vom Skript # search_acronyms.pl welches per cron automatisch gestartet werden soll. my %glossar = LadeGlossar($GLOSSAR_FILE); my $ALPHALIST = 'aäbcdefghijklmnoöpqrstuüvwxyz0123456789'; my $ALPHALIST_OHNEZAHLEN = 'aäbcdefghijklmnoöpqrstuüvwxyz'; my $SHOWPAGES = 1; my $NACHOBENSTRING = "
"; print "Status: 200\n"; print "Content-type: text/html\n\n"; my $output = ZeigeGlossar(\%glossar); print $output; exit; ############################################################################## # Subroutinen ############################################################################## sub ZeigeGlossar { my $hashref = shift; if (not $hashref) { return "Es konnten keine Einträge gefunden werden."; } my %hash = %{$hashref}; my $key; my $firstchar; my $zahlenfound; my %ahash; foreach $key (keys %hash) { $firstchar = substr($key,0,1); if ($firstchar =~ /^[0-9]/i) { $zahlenfound =1; } push(@{$ahash{$firstchar}}, "$key\t$hash{$key}{'acronym'}"); } if (not $zahlenfound) { $ALPHALIST = $ALPHALIST_OHNEZAHLEN; } my $len = length($ALPHALIST); my $this; my $pos; my $key; my $i; my $hthis; my $res; my $pagenavi; my $usetitle; my $l; my @liste; my ($lang,$title,$file,$seitentitel) ; while($pos < $len) { $this = substr($ALPHALIST,$pos,1); $hthis = uc($this); if ($ahash{$this}) { $pagenavi .= "\t$hash{$key}{'title'}\n"; if ($SHOWPAGES) { $res .= "\t