ある処理の開始時にダイアログボックスを表示させ、処理が終わった時にダイアログボックスを消したいのですがどのようにすれば良いでしょうか?

ダイアログを表示した時点でメインの処理が止まってしまうので困っています。

ダイアログはPerl/Tkで表示しています。