目的:perlTk で GUI のテキスト検索ツールを作成しています。

状況:ユーザから入力された検索文字列の正規表現が不正であると、プログラムが
終了してします。 (invalid regular expression at * )

$search_string に格納された文字列が正規表現として有効であるかを、
eval を使って事前に評価したいのですが、どうしたら良いのでしょう?

if (eval (m/$search_string/)) ?  これだと常に true が帰ってしまいます。
エロい人、教えてください。