#!/usr/bin/perl
#!perl.exe -t
##############################################
### datenbank suche
### Version 1.0
### Copyright 2000 > boomtec < mario-luepke-online
### All Rights Reserved
##############################################

#####################################################################
######################			EINGABE AUSLESEN		#####################
#####################################################################
		print "Content-type: text/html\n\n"; 		
		print'<html>';

		@kriterium = undef;
		$eingabe = <STDIN>;
		@eingabe = split( /&/ , $eingabe);
		foreach $zeile (@eingabe)	{
				($feld, $inhalt) = split( /=/ , $zeile);
				$daten = $inhalt;
				$inhalt = &aufbereiter ($daten);
				$eingabe{$feld} = $inhalt;
		}

#####################################################################
######################			Datenbanken AUSLESEN		#################
#####################################################################

		### Datenbank REGION einlesen  ###
		open (REGION, "region.db");
				@region = <REGION>;
		close (REGION);

		foreach $zeile (@region) {
				$zeile =~ s/\n//;
				$zeile =~ s/\r//;
		}

		### Datenbank LAND einlesen  ###										
		open (LAND, "land.db");																
				@land = <LAND>;																	
		close (LAND);																				

		foreach $zeile (@land) {
				$zeile =~ s/\n//;
				$zeile =~ s/\r//;
		}

################################################################################
#########################		Ausgabefelder vorbereiten 	#############################
################################################################################

		### Ausgabe REGION vorbereiten ###
		$region = undef;
		foreach $zeile (@region) {
				$zeile =~ s/\n//;
				$region = $region . "<option value=\"$zeile\">$zeile<\/option>". "\n";
		}

		### Ausgabe LAND vorbereiten ###																		
		$land = undef;
		foreach $zeile (@land) {
				$zeile =~ s/\n//;
				$land = $land . "<option value=\"$zeile\">$zeile<\/option>". "\n";
		}

#####################################################################
######################			Suchmaske öffnen		########################
#####################################################################

		### Einlesen der  Antwortseite ###
				open (SUCHMASKE, "eintrag_01.htm");
						@such_maske = <SUCHMASKE>;
				close (SUCHMASKE);

		### Einlesen der  Ausgabesequenz ###
				open (SEQUENZ, "sequenz.htm");
						@sequenz_gesamt = <SEQUENZ>;
				close (SEQUENZ);

################################################################################
#########################		SUCHMASKE ausgeben 	##############################
################################################################################

		foreach $zeile (@such_maske) {
		### Drop-Down-Felder ersetzen ###
				if ($zeile =~ m/xxxregionxxx/gi) {
							$zeile = $region;
				}
				if ($zeile =~ m/xxxlandxxx/gi) {
							$zeile = $land;
				}
		}

print @such_maske;

################################################################################
#########################		UNTERPROGRAMME		################################
################################################################################

### UP Datenaufbereiter ###
	sub aufbereiter	{ 
			$daten =~ s/\+/ /go;
			$daten =~ s/<>/ /go;
			$daten =~ s/\%7E/ /go;
			$daten =~ s/\%0D\%0A/~/go;
			$daten =~ s/\%(..)/ pack("c", hex ($1))/ge;
			return $daten;
		}

# UP Zweistellig
	sub zweistellig	{ 
			if ( length ($_[0]) < 2 )	{
					return "0" . $_[0];
			}
			else	{
					return $_[0];
			}
	}
