#start submitting jobs for the not_yet_run requests while (( $usable_machine = pop(@$usable) ) && ( $request_file = pop(@all_requests) )){ #use the code I had before }