@Renee: Falsche Richtung. Er will nicht aus A-B AB finden, sondern aus AB A-B.
Dafür ist einiges zu klären:
Ist nur AaaaBbbbb -> Aaaa-Bbbbb erlaubt, oder auch Aa-aaBbbbb ? ersteres wäre weniger schwierig... ansonsten musst Du zwischen allen Buchstabenpaaren testweise einen Bindestrich einfügen und versuchen, ob Du Informationen von der DB dazu zurückbekommst. Das ist aufwändig (auch auf DB-Ebene) und lästig.
Andere Alternative: Du holst Dir die komplette Tabelle (würg) und testest dann, ob ev. die um Bindestriche bereinigten Ortsnamen auf den Suchstring passen.
Am besten ist die Groß-Kleinschreibvariante und nur ein erlaubter Bindestrich.\n\n
<!--EDIT|Crian|1092826605-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;
use strict; use warnings; Link zu meiner Perlseite