GUI プログラムを開発する際に,特にこうしなければならないという規則はありませんが,自分が良く用いる手順を説明します.
重要なことは,「プログラム中心部とGUI部を別々に分けて考えた方が良い」ということです.
GUI 部分は所詮人間と計算機の間の入出力を助けるだけですから,GUI 部分をどれだけ見栄え良く作っても,プログラムロジックの部分がバグだらけだったら何の意味もありません.むしろ,プログラムロジックの部分の方が重要で,GUI
はおまけと考えたほうが良いかもしれません.
良くやる手法は,まずプログラム中心部をCUI (キャラクターベース)で開発し,十分にテストを行った後,GUI化する方法です.GUI部を外部的に呼び出す場合などはperlでなくとも(例えばC,ruby等)良いです.1に関する説明は,他のプログラミングの教科書を参考にしたほうが良いと思われるので,ここでは割愛します.
GUI部はプログラム中心部に対して,オプションや引数を入力として渡し,出力を表示させる手助けをするだけものです.従って,GUI部がプログラム中心部に干渉する(例えばロジックを変えてしまう)べきではないですし,GUI部だけでも独立に動作できるよう開発すべきでしょう.