Perl Perl Hauptstadt suche

sbeisch

Cadet 4th Year
Registriert
Nov. 2007
Beiträge
119
Hallo!

Ich habe ein Programm in Perl geschrieben wo ich ein Land eingeben und das Programm gibt mir die Hauptstadt dazu aus.
Ich hab die Läner und Hauptstädte in einer text Datei.Aber irgendwie kann ich nicht auf jedes Land zugreifen.


open($Datei, "laenderneu3.txt");
while(<$Datei>) {
split(/\s/);
$hash{$_[0]} = $_[2];
};

$c =1;
while ($c ==1){

print "Bitte geben Sie das Land ein von welchem Sie die Hauptstadt wissen wollen!\n";
$Land = <STDIN>;
chomp $Land;

$a = length ($value);
$value = $hash{$Land };
print "\n\n";

$a = length ($value);
if ($a > 0){
print "Die Hauptstadt von $Land ist $value \n\n";
print "Wollen Sie noch wissen auf welchem Kontinent diese liegt?(JA =1 Nein =0)\n";
$d = <STDIN> ;
print "\n\n";
if($d== 1){
open($Datei2, "konti.txt");
while(<$Datei2>) {
split(/\s/);
$hash2{$_[0]} = $_[1];
};

$k = $hash2{$Land };
print "Sie liegt in $k \n\n";
print "Wollen Sie eine neue Hauptstadt suchen? (JA =1 Nein =0) \n";
$c = <STDIN> ;
print "\n\n";
};
if ($c== 0){print "Ende\n\n" ;
exit;
};
if($d== 0){
print "Wollen Sie eine neue Hauptstadt suchen? (JA =1 Nein =0) \n";
$c = <STDIN> ;
print "\n\n";
if ($c== 0){print "Ende\n\n" ;
exit;
};
};
};

if ($a == 0){
print "Sie haben eine falsche Eingabe gemacht! \n";
print "Wollen Sie eine neue Eingabe machen? (JA =1 Nein =0) \n";
$c = <STDIN> ;
print "\n\n";
};
if ($c== 0){print "Ende\n\n";
exit;
};
};


So sieht die Datei aus wo ich öffne:

San_Marino San_Marino
São_Tomé São_Tomé
Saudi-Arabien Riad
Schweden Stockholm
Schweiz Bern
Senegal Dakar
Serbien Belgrad
Seychellen Victoria
Sierra Leone Freetown
Simbabwe Harare
usw.....

Wenn ich Schweden oder Senegal eingebe kommt eine Lösung aber Schweiz geht nicht
woran könnte das liegen?
Ich finde die Lösung irgendwie nicht...

Lg sbeisch
 
1. das erste $a = length ($value) ist überflüssig
2. $c kannst weg lassen und einfach while(true) schreiben

Bitte lade mal die txt's hoch...

Gruß
 
Okay....danke...

die txt:
Afghanistan Kabul
Ägypten Kairo
Albanien Tirana
Algerien Algier
Andorra Andorra_la_Vella
Angola Luanda
Antigua_und_Barbuda St._John’s
Äquatorialguinea Malabo
Argentinien Buenos_Aires
Armenien Eriwan
Aserbaidschan Baku
Äthiopien Addis_Abeba
Australien Canberra
Bahamas Nassau
Bahrain Manama
Bangladesch Dhaka
Barbados Bridgetown
Belgien Brüssel
Belize Belmopan
Benin Porto-Novo
Bhutan Thimphu
Bolivien Sucre
Bosnien_und_Herzegowina Sarajewo
Botsuana Gaborone
Brasilien Brasília
Brunei Bandar_Seri_Begawan
Bulgarien Sofia
Burkina_Faso Ouagadougou
Burundi Bujumbura
Chile Santiago_de_Chile
China Peking
Costa_Rica San_José
Dänemark Kopenhagen
Deutschland Berlin
Dominica Roseau
Dominikanische_Republik Santo_Domingo
Dschibuti Dschibuti
Ecuador Quito
Elfenbeinküste Yamoussoukro
El Salvador San Salvador
Eritrea Asmara
Estland Tallinn
Fidschi Suva
Finnland Helsinki
Frankreich Paris
Gabun Libreville
Gambia Banjul
Georgien Tiflis
Ghana Accra
Grenada St. George’s
Griechenland Athen
Guatemala Guatemala_Stadt
Guinea Conakry
Guinea-Bissau Bissau
Guyana Georgetown
Haiti Port-au-Prince
Honduras Tegucigalpa
Indien Neu-Delhi
Indonesien Jakarta
Irak Bagdad
Iran Teheran
Irland Dublin
Island Reykjavík
Israel Jerusalem
Italien Rom
Jamaika Kingston
Japan Tokio
Jemen Sana'a
Jordanien Amman
Kambodscha Phnom Penh
Kamerun Jaunde
Kanada Ottawa
Kap_Verde Praia
Kasachstan Astana
Katar Doha
Kenia Nairobi
Kirgisistan Bischkek
Kiribati South_Tarawa
Kosovo Priština
Kolumbien Bogotá
Komoren Moroni
Kongo Kinshasa
Nordkorea Pjöngjang
Suedkorea Seoul
Kroatien Zagreb
Kuba Havanna
Kuwait Kuwait-Stadt
Laos Vientiane
Lesotho Maseru
Lettland Riga
Libanon Beirut
Liberia Monrovia
Libyen Tripolis
Liechtenstein Vaduz
Litauen Vilnius
Luxemburg Luxemburg
Madagaskar Antananarivo
Malawi Lilongwe
Malaysia Kuala Lumpur
Malediven Malé
Mali Bamako
Malta Valletta
Marokko Rabat
Marshallinseln Majuro
Mauretanien Nouakchott
Mauritius Port Louis
Mazedonien Skopje
Mexiko Mexiko-Stadt
Mikronesien_Föderierte _Staaten Palikir
Moldawien Chisinau
Monaco Monaco
Mongolei Ulaanbaatar
Montenegro Podgorica
Mosambik Maputo
Myanmar Pyinmana
Namibia Windhoek
Nauru Yaren
Nepal Kathmandu
Neuseeland Wellington
Nicaragua Managua
Niederlande Amsterdam
Niger Niamey
Nigeria Abuja
Norwegen Oslo
Oman Maskat
Österreich Wien
Osttimor Dili
Pakistan Islamabad
Palau Melekeok
Panama Panama-Stadt
Papua-Neuguinea Port_Moresby
Paraguay Asunción
Peru Lima
Philippinen Manila
Polen Warschau
Portugal Lissabon
Ruanda Kigali
Rumänien Bukarest
Russland Moskau
Salomonen Honiara
Sambia Lusaka
Samoa Apia
San_Marino San_Marino
São_Tomé São_Tomé
Saudi-Arabien Riad
Schweden Stockholm
Schweiz Bern
Senegal Dakar
Serbien Belgrad
Seychellen Victoria
Sierra Leone Freetown
Simbabwe Harare
Singapur Singapur
Slowakei Bratislava
Slowenien Ljubljana
Somalia Mogadischu
Spanien Madrid
Sri_Lanka Colombo
St_Kitts Basseterre
St_Lucia Castries
St_Vincent Kingstown
Südafrika Pretoria
Sudan Khartum
Suriname Paramaribo
Swasiland Mbabane
Syrien Damaskus
Tadschikistan Duschanbe
Tansania Dodoma
Thailand Bangkok
Togo Lomé
Tonga Nuku'alofa
Trinidad_und_Tobago Port-of-Spain
Tschad N'Djamena
Tschechien Prag
Tunesien Tunis
Türkei Ankara
Turkmenistan Aschgabat
Tuvalu Funafuti
Uganda Kampala
Ukraine Kiew
Ungarn Budapest
Uruguay Montevideo
Usbekistan Taschkent
Vanuatu Port Vila
Vatikanstadt Vatikanstadt
Venezuela Caracas
Vereinigte_Arabische_Emirate Abu_Dhabi
Vereinigtes_Königreich London
Vereinigte_Staaten_von_Amerika Washington_D.C.
Vietnam Hanoi
Weißrussland Minsk
Zentralafrikanische_Republik Bangui
Zypern Nikosia
 
Zurück
Oben