sub merge { my ( $data, $unmerge ) = @_; while ( $some_condition ) { # big loop, no embedded loops $count = $unmerge ? $count1 + $count2 : $count1 - $count 2; } }