Zu deiner Frage:
Mit if ($String =~ /$Gesucht/) kann ich ja herausfinden, ob in $String der Inhalt von $Gesucht vorkommt. Wie ist aber die Sache, wenn $Gesucht leer ist?
Vielleicht solltest du zuerst den Inhalt von $Gesucht prüfen, und eventuell eine Fehlermeldung ausgeben, wenn da nichts drin steht.