I'm _assuming_ that `$3`, `$4`, etc are generated as a result of the `login =~ regexp`.

While you're touching this, it might make sense to refactor this method to use `Regexp#match` instead of some of the more perl-y code that's here