Text::Tabs will do the same as my example, it will replace the tabs with a fixed amount of spaces but it will not consider the spaces in between the two strings.
If you make a tab it can contain one time 2 spaces, another time it contains 5 spaces, .... so if you replace the tabs with a fixed amount of spaces the positioning will be scrambled. No collumn effect anymore. So to make it work you first would have to check the amount of spaces between the two strings and then replace the tab with the amount of spaces it was representing.
Sorry the Text::Tabs is working fine. It was a proportional font that was all the time giving the bad result and giving the impression that the spaces were incorrect. It is sometimes in a detail.