in reply to Conditionally converting tabs to spaces

In addition to lhoward's response, if the text in the first column ends with a tab, you will need to pad the text with spaces so that everything lines up.
s/^([^\t]*)/sprintf('%-10s', $1)/e;
will pad it to 10 characters (and will leave the tab).