$GLOBAL1 = do_stuff($GLOBAL0, $GLOBAL1); #### ... set globals ... ... do_stuff; ... ... use modified globals #### &read_input; &calculate_this; &calculate_that; &write_output; # some to files others to databases # all in one function. sub calculate_this { ... } sub read_input { ... } sub write_output { ... } sub calculate_that { ... }