解決策は
構造を変えて、入力と参照のどちらかをif文から出すか
遅延環境変数を使うか
call文で内部の処理をサブルーチンとして呼び出す形にするか