Ok, 10 arguments is irrelevant, you'll see that's because in `Configure()` I've pulled out some specific elements from `$config` that I want to use.  This is to make it clear what I'm using and what I'm ignoring and allows for some normalization to occur on the values.  I _could_ just pass the hash and not pick out individual values, but actually I don't think it makes the code any more readable and I'm not a fan of reducing the number of arguments just for the sake of it.

Indeed there are some variables with limited scopes, unfortunately you'll also notice that each stanza in the method is working to modify various arrays, hashes and sets that are needed by the next.  The end goal is to have `@$beadm_list`, `@$reject_keys`, `@$to_rm` and `@$wanted_keys` to collectively contain the guts of the arguments that need to be sent to the `pkg install` command.

If I were to attempt to split this method up, as previously stated, it would actually get _harder_ to follow, because no part of this method works independently of the other parts, and each part takes multiple inputs and also modifies multiple variables that are required later on.  I'm never comfortable with a method that both returns a value and also modifies references that were passed to it, and that's what I'd have to do if I split this up.  I think you'd come to the same conclusion if you actually tried to split it up yourself.

So unfortunately I can't think of any way of splitting up this method without making it harder to follow or making the code suboptimal.