メモリ解放ではありませんが、使う変数を初期値にする処理を@INIT等のラベル名でサブルーチンなりを用意しておいて、任意のタイミングでもう一度呼び出すというのはいかがですかね?